diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f5ebe3cc3c..f9774fe3b8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -868,7 +868,7 @@ jobs: env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: ${{ secrets.AWS_REGION }} + AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }} - name: Trigger 'New OpenTTD release' uses: peter-evans/repository-dispatch@v1 diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ed0095895..351f3fbddd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -282,7 +282,7 @@ if(MSVC) endif() add_subdirectory(${CMAKE_SOURCE_DIR}/src) -add_subdirectory(${CMAKE_SOURCE_DIR}/media/baseset) +add_subdirectory(${CMAKE_SOURCE_DIR}/media) add_subdirectory(${CMAKE_SOURCE_DIR}/bin) if(NOT CMAKE_CROSSCOMPILING AND NOT HOST_BINARY_DIR) @@ -299,6 +299,7 @@ add_dependencies(openttd target_link_libraries(openttd openttd::languages openttd::settings + openttd::media openttd::basesets openttd::script_api openttd::binfiles diff --git a/bin/ai/compat_1.11.nut b/bin/ai/compat_1.11.nut index 3081fb58e8..887f3f7fd9 100644 --- a/bin/ai/compat_1.11.nut +++ b/bin/ai/compat_1.11.nut @@ -4,3 +4,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.11 API compatibility in effect."); diff --git a/bin/ai/compat_1.12.nut b/bin/ai/compat_1.12.nut new file mode 100644 index 0000000000..3081fb58e8 --- /dev/null +++ b/bin/ai/compat_1.12.nut @@ -0,0 +1,6 @@ +/* + * 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/game/compat_1.11.nut b/bin/game/compat_1.11.nut index 3081fb58e8..fa240b5d2d 100644 --- a/bin/game/compat_1.11.nut +++ b/bin/game/compat_1.11.nut @@ -4,3 +4,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.11 API compatibility in effect."); diff --git a/bin/game/compat_1.12.nut b/bin/game/compat_1.12.nut new file mode 100644 index 0000000000..3081fb58e8 --- /dev/null +++ b/bin/game/compat_1.12.nut @@ -0,0 +1,6 @@ +/* + * 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/cmake/InstallAndPackage.cmake b/cmake/InstallAndPackage.cmake index e98025aae2..02dea14fe0 100644 --- a/cmake/InstallAndPackage.cmake +++ b/cmake/InstallAndPackage.cmake @@ -59,8 +59,18 @@ if(OPTION_INSTALL_FHS) COMPONENT manual) endif() -# TODO -- Media files -# TODO -- Menu files +if(UNIX AND NOT APPLE) + install(DIRECTORY + ${CMAKE_BINARY_DIR}/media/icons + ${CMAKE_BINARY_DIR}/media/pixmaps + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR} + COMPONENT media) + + install(FILES + ${CMAKE_BINARY_DIR}/media/${BINARY_NAME}.desktop + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications + COMPONENT menu) +endif() if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") set(ARCHITECTURE "amd64") diff --git a/cmake/scripts/Baseset.cmake b/cmake/scripts/Baseset.cmake index 7cf60629d9..cb5fb5704d 100644 --- a/cmake/scripts/Baseset.cmake +++ b/cmake/scripts/Baseset.cmake @@ -4,6 +4,16 @@ cmake_minimum_required(VERSION 3.5) # Create a single baseset meta file with the correct translations. # +if(NOT BASESET_SOURCE_FILE) + message(FATAL_ERROR "Script needs BASESET_SOURCE_FILE defined") +endif() +if(NOT BASESET_BINARY_FILE) + message(FATAL_ERROR "Script needs BASESET_BINARY_FILE defined") +endif() +if(NOT BASESET_EXTRAGRF_FILE) + message(FATAL_ERROR "Script needs BASESET_EXTRAGRF_FILE defined") +endif() + set(ARGC 1) set(ARG_READ NO) diff --git a/cmake/scripts/Desktop.cmake b/cmake/scripts/Desktop.cmake new file mode 100644 index 0000000000..7cec0b9afe --- /dev/null +++ b/cmake/scripts/Desktop.cmake @@ -0,0 +1,60 @@ +cmake_minimum_required(VERSION 3.5) + +# +# Create a desktop file with the correct translations. +# + +if(NOT DESKTOP_SOURCE_FILE) + message(FATAL_ERROR "Script needs DESKTOP_SOURCE_FILE defined") +endif() +if(NOT DESKTOP_BINARY_FILE) + message(FATAL_ERROR "Script needs DESKTOP_BINARY_FILE defined") +endif() +if(NOT BINARY_NAME) + message(FATAL_ERROR "Script needs BINARY_NAME defined") +endif() + +set(ARGC 1) +set(ARG_READ NO) + +# Read all the arguments given to CMake; we are looking for -- and everything +# that follows. Those are our language files. +while(ARGC LESS CMAKE_ARGC) + set(ARG ${CMAKE_ARGV${ARGC}}) + + if(ARG_READ) + list(APPEND LANG_SOURCE_FILES "${ARG}") + endif() + + if(ARG STREQUAL "--") + set(ARG_READ YES) + endif() + + math(EXPR ARGC "${ARGC} + 1") +endwhile() + +# Place holder format is @_@ +file(STRINGS "${DESKTOP_SOURCE_FILE}" PLACE_HOLDER REGEX "^@") +string(REGEX REPLACE "@([^_]+).*@" "\\1" INI_KEY "${PLACE_HOLDER}") +string(REGEX REPLACE "@[^_]+_(.*)@" "\\1" STR_ID "${PLACE_HOLDER}") +string(REGEX REPLACE "@(.*)@" "\\1" PLACE_HOLDER "${PLACE_HOLDER}") + +# Get the translations +foreach(LANGFILE IN LISTS LANG_SOURCE_FILES) + file(STRINGS "${LANGFILE}" LANGLINES REGEX "^(##isocode|${STR_ID})" ENCODING UTF-8) + string(FIND "${LANGLINES}" "${STR_ID}" HAS_STR_ID) + if(HAS_STR_ID LESS 0) + continue() + endif() + string(REGEX REPLACE "##isocode ([^;]+).*" "\\1" ISOCODE "${LANGLINES}") + if("${ISOCODE}" STREQUAL "en_GB") + string(REGEX REPLACE "[^:]*:(.*)" "${INI_KEY}=\\1" LANGLINES "${LANGLINES}") + else() + string(REGEX REPLACE "[^:]*:(.*)" "${INI_KEY}[${ISOCODE}]=\\1" LANGLINES "${LANGLINES}") + endif() + list(APPEND ${PLACE_HOLDER} ${LANGLINES}) +endforeach() +list(SORT ${PLACE_HOLDER}) +string(REPLACE ";" "\n" ${PLACE_HOLDER} "${${PLACE_HOLDER}}") + +configure_file(${DESKTOP_SOURCE_FILE} ${DESKTOP_BINARY_FILE}) diff --git a/media/CMakeLists.txt b/media/CMakeLists.txt new file mode 100644 index 0000000000..17b10b5ec8 --- /dev/null +++ b/media/CMakeLists.txt @@ -0,0 +1,98 @@ +add_subdirectory(baseset) + +add_library(media + INTERFACE +) +add_library(openttd::media ALIAS media) + +if(NOT UNIX OR APPLE) + return() +endif() + +set(MEDIA_PNG_SOURCE_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/openttd.16.png + ${CMAKE_CURRENT_SOURCE_DIR}/openttd.32.png + ${CMAKE_CURRENT_SOURCE_DIR}/openttd.48.png + ${CMAKE_CURRENT_SOURCE_DIR}/openttd.64.png + ${CMAKE_CURRENT_SOURCE_DIR}/openttd.128.png + ${CMAKE_CURRENT_SOURCE_DIR}/openttd.256.png +) + +# Walk over all the png files, and generate a command to copy them +foreach(MEDIA_PNG_SOURCE_FILE IN LISTS MEDIA_PNG_SOURCE_FILES) + get_filename_component(MEDIA_PNG_FILE_NAME "${MEDIA_PNG_SOURCE_FILE}" NAME) + string(REGEX REPLACE "[^.]+.([0-9]*).*" "${CMAKE_CURRENT_BINARY_DIR}/icons/hicolor/\\1x\\1/apps/${BINARY_NAME}.png" MEDIA_PNG_BINARY_FILE "${MEDIA_PNG_FILE_NAME}") + + add_custom_command(OUTPUT ${MEDIA_PNG_BINARY_FILE} + COMMAND ${CMAKE_COMMAND} -E copy + ${MEDIA_PNG_SOURCE_FILE} + ${MEDIA_PNG_BINARY_FILE} + MAIN_DEPENDENCY ${MEDIA_PNG_SOURCE_FILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Copying ${MEDIA_PNG_FILE_NAME} file" + ) + + list(APPEND MEDIA_BINARY_FILES ${MEDIA_PNG_BINARY_FILE}) +endforeach() + +set(MEDIA_XPM_SOURCE_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/openttd.32.xpm + ${CMAKE_CURRENT_SOURCE_DIR}/openttd.64.xpm +) + +# Walk over all the xpm files, and generate a command to copy them +foreach(MEDIA_XPM_SOURCE_FILE IN LISTS MEDIA_XPM_SOURCE_FILES) + get_filename_component(MEDIA_XPM_FILE_NAME "${MEDIA_XPM_SOURCE_FILE}" NAME) + get_filename_component(MEDIA_XPM_FILE_EXT "${MEDIA_XPM_FILE_NAME}" EXT) + set(MEDIA_XPM_BINARY_FILE "${CMAKE_CURRENT_BINARY_DIR}/pixmaps/${BINARY_NAME}${MEDIA_XPM_FILE_EXT}") + + add_custom_command(OUTPUT ${MEDIA_XPM_BINARY_FILE} + COMMAND ${CMAKE_COMMAND} -E copy + ${MEDIA_XPM_SOURCE_FILE} + ${MEDIA_XPM_BINARY_FILE} + MAIN_DEPENDENCY ${MEDIA_XPM_SOURCE_FILE} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Copying ${MEDIA_XPM_FILE_NAME} file" + ) + + list(APPEND MEDIA_BINARY_FILES ${MEDIA_XPM_BINARY_FILE}) +endforeach() + +# Create a new target which copies media files +add_custom_target(media_files + DEPENDS + ${MEDIA_BINARY_FILES} +) + +add_dependencies(media + media_files +) + +get_target_property(LANG_SOURCE_FILES language_files LANG_SOURCE_FILES) + +set(DESKTOP_BINARY_NAME ${BINARY_NAME}.desktop) + +add_custom_command_timestamp(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_BINARY_NAME} + COMMAND ${CMAKE_COMMAND} + -DDESKTOP_SOURCE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/openttd.desktop + -DDESKTOP_BINARY_FILE=${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_BINARY_NAME} + -DBINARY_NAME=${BINARY_NAME} + -P ${CMAKE_SOURCE_DIR}/cmake/scripts/Desktop.cmake + -- + ${LANG_SOURCE_FILES} + MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/openttd.desktop + DEPENDS ${LANG_SOURCE_FILES} + ${CMAKE_SOURCE_DIR}/cmake/scripts/Desktop.cmake + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating desktop file" +) + +# Create a new target which generates desktop file +add_custom_target_timestamp(desktop_file + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_BINARY_NAME} +) + +add_dependencies(media + desktop_file +) diff --git a/media/openttd.desktop.in b/media/openttd.desktop similarity index 69% rename from media/openttd.desktop.in rename to media/openttd.desktop index 4a251114c4..e0aef004cd 100644 --- a/media/openttd.desktop.in +++ b/media/openttd.desktop @@ -2,10 +2,10 @@ [Desktop Entry] Type=Application Version=1.0 -Name=!!MENU_NAME!! -Icon=!!TTD!! -Exec=!!TTD!! +Name=OpenTTD +Icon=${BINARY_NAME} +Exec=${BINARY_NAME} Terminal=false -Categories=!!MENU_GROUP!! -Comment=A clone of Transport Tycoon Deluxe +Categories=Game; Keywords=game;simulation;transport;tycoon;deluxe;economics;multiplayer;money;train;ship;bus;truck;aircraft;cargo; +@Comment_STR_DESKTOP_SHORTCUT_COMMENT@ diff --git a/media/openttd.desktop.filter.awk b/media/openttd.desktop.filter.awk deleted file mode 100644 index 125e21b0d7..0000000000 --- a/media/openttd.desktop.filter.awk +++ /dev/null @@ -1,11 +0,0 @@ -# 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 . - -# -# Awk script to automatically remove duplicate Comment[i]= lines -# - -BEGIN { FS = "="; last = "" } -{ if (last != $1) { print $0 }; last = $1 } diff --git a/media/openttd.desktop.translation.awk b/media/openttd.desktop.translation.awk deleted file mode 100644 index 3187f9ddf1..0000000000 --- a/media/openttd.desktop.translation.awk +++ /dev/null @@ -1,13 +0,0 @@ -# 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 . - -# -# Awk script to automatically generate a comment lines for -# a translated desktop shortcut. If it does not exist there -# is no output. -# - -/##isocode/ { lang = $2; next } -/STR_DESKTOP_SHORTCUT_COMMENT/ { sub("^[^:]*:", "", $0); print "Comment[" lang "]=" $0; sub("_.*", "", lang); print "Comment[" lang "]=" $0; next} diff --git a/regression/regression/info.nut b/regression/regression/info.nut index 758754cfe7..340dcff5c3 100644 --- a/regression/regression/info.nut +++ b/regression/regression/info.nut @@ -4,7 +4,7 @@ class Regression extends AIInfo { function GetShortName() { return "REGR"; } function GetDescription() { return "This runs regression-tests on some commands. On the same map the result should always be the same."; } function GetVersion() { return 1; } - function GetAPIVersion() { return "1.11"; } + function GetAPIVersion() { return "1.12"; } function GetDate() { return "2007-03-18"; } function CreateInstance() { return "Regression"; } } diff --git a/regression/stationlist/info.nut b/regression/stationlist/info.nut index 42e5072fd4..a58fd20ba8 100644 --- a/regression/stationlist/info.nut +++ b/regression/stationlist/info.nut @@ -4,7 +4,7 @@ class StationList extends AIInfo { function GetShortName() { return "REGS"; } function GetDescription() { return "This runs stationlist-tests on some commands. On the same map the result should always be the same."; } function GetVersion() { return 1; } - function GetAPIVersion() { return "1.11"; } + function GetAPIVersion() { return "1.12"; } function GetDate() { return "2007-03-18"; } function CreateInstance() { return "StationList"; } } diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index d76469da44..1860402d5c 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -1449,7 +1449,7 @@ StringFilter AIDebugWindow::break_string_filter(&AIDebugWindow::case_sensitive_b /** Make a number of rows with buttons for each company for the AI debug window. */ NWidgetBase *MakeCompanyButtonRowsAIDebug(int *biggest_index) { - return MakeCompanyButtonRows(biggest_index, WID_AID_COMPANY_BUTTON_START, WID_AID_COMPANY_BUTTON_END, 8, STR_AI_DEBUG_SELECT_AI_TOOLTIP); + return MakeCompanyButtonRows(biggest_index, WID_AID_COMPANY_BUTTON_START, WID_AID_COMPANY_BUTTON_END, COLOUR_GREY, 8, STR_AI_DEBUG_SELECT_AI_TOOLTIP); } /** diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp index c5280fe5d6..985271fa1b 100644 --- a/src/ai/ai_info.cpp +++ b/src/ai/ai_info.cpp @@ -25,7 +25,7 @@ */ static bool CheckAPIVersion(const char *api_version) { - static const std::set versions = { "0.7", "1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11" }; + static const std::set versions = { "0.7", "1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11", "1.12" }; return versions.find(api_version) != versions.end(); } diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index c32022f972..bae56889d4 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -1397,19 +1397,22 @@ static void CrashAirplane(Aircraft *v) v->Next()->cargo.Truncate(); const Station *st = GetTargetAirportIfValid(v); StringID newsitem; + TileIndex vt; if (st == nullptr) { newsitem = STR_NEWS_PLANE_CRASH_OUT_OF_FUEL; + vt = TileVirtXY(v->x_pos, v->y_pos); } else { SetDParam(1, st->index); newsitem = STR_NEWS_AIRCRAFT_CRASH; + vt = v->tile; } - AI::NewEvent(v->owner, new ScriptEventVehicleCrashed(v->index, v->tile, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING)); - Game::NewEvent(new ScriptEventVehicleCrashed(v->index, v->tile, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING)); + AI::NewEvent(v->owner, new ScriptEventVehicleCrashed(v->index, vt, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING)); + Game::NewEvent(new ScriptEventVehicleCrashed(v->index, vt, st == nullptr ? ScriptEventVehicleCrashed::CRASH_AIRCRAFT_NO_AIRPORT : ScriptEventVehicleCrashed::CRASH_PLANE_LANDING)); - AddTileNewsItem(newsitem, NT_ACCIDENT, v->tile, nullptr, st != nullptr ? st->index : INVALID_STATION); + AddTileNewsItem(newsitem, NT_ACCIDENT, vt, nullptr, st != nullptr ? st->index : INVALID_STATION); - ModifyStationRatingAround(v->tile, v->owner, -160, 30); + ModifyStationRatingAround(vt, v->owner, -160, 30); if (_settings_client.sound.disaster) SndPlayVehicleFx(SND_12_EXPLOSION, v); } diff --git a/src/blitter/32bpp_optimized.cpp b/src/blitter/32bpp_optimized.cpp index 46a164e1e6..6e1021af6d 100644 --- a/src/blitter/32bpp_optimized.cpp +++ b/src/blitter/32bpp_optimized.cpp @@ -373,6 +373,10 @@ template Sprite *Blitter_32bppOptimized::EncodeInternal(const dst_px->r = colour.r; dst_px->g = colour.g; dst_px->b = colour.b; + } else { + dst_px->r = src->r; + dst_px->g = src->g; + dst_px->b = src->b; } } else { dst_px->r = src->r; diff --git a/src/bootstrap_gui.cpp b/src/bootstrap_gui.cpp index 7ec391b47d..7495e08ba5 100644 --- a/src/bootstrap_gui.cpp +++ b/src/bootstrap_gui.cpp @@ -14,6 +14,7 @@ #if defined(WITH_FREETYPE) || defined(WITH_UNISCRIBE) || defined(WITH_COCOA) #include "core/geometry_func.hpp" +#include "error.h" #include "fontcache.h" #include "gfx_func.h" #include "network/network.h" @@ -61,8 +62,65 @@ public: } }; +/** Nested widgets for the error window. */ +static const NWidgetPart _nested_bootstrap_errmsg_widgets[] = { + NWidget(NWID_HORIZONTAL), + NWidget(WWT_CAPTION, COLOUR_GREY, WID_BEM_CAPTION), SetDataTip(STR_MISSING_GRAPHICS_ERROR_TITLE, STR_NULL), + EndContainer(), + NWidget(WWT_PANEL, COLOUR_GREY), + NWidget(WWT_PANEL, COLOUR_GREY, WID_BEM_MESSAGE), EndContainer(), + NWidget(NWID_HORIZONTAL), + NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_BEM_QUIT), SetDataTip(STR_MISSING_GRAPHICS_ERROR_QUIT, STR_NULL), SetFill(1, 0), + EndContainer(), + EndContainer(), +}; + +/** Window description for the error window. */ +static WindowDesc _bootstrap_errmsg_desc( + WDP_CENTER, nullptr, 0, 0, + WC_BOOTSTRAP, WC_NONE, + WDF_MODAL, + _nested_bootstrap_errmsg_widgets, lengthof(_nested_bootstrap_errmsg_widgets) +); + +/** The window for a failed bootstrap. */ +class BootstrapErrorWindow : public Window { +public: + BootstrapErrorWindow() : Window(&_bootstrap_errmsg_desc) + { + this->InitNested(1); + } + + ~BootstrapErrorWindow() + { + _exit_game = true; + } + + void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override + { + if (widget == WID_BEM_MESSAGE) { + *size = GetStringBoundingBox(STR_MISSING_GRAPHICS_ERROR); + size->height = GetStringHeight(STR_MISSING_GRAPHICS_ERROR, size->width - WD_FRAMETEXT_LEFT - WD_FRAMETEXT_RIGHT) + WD_FRAMETEXT_BOTTOM + WD_FRAMETEXT_TOP; + } + } + + void DrawWidget(const Rect &r, int widget) const override + { + if (widget == WID_BEM_MESSAGE) { + DrawStringMultiLine(r.left + WD_FRAMETEXT_LEFT, r.right - WD_FRAMETEXT_RIGHT, r.top + WD_FRAMETEXT_TOP, r.bottom - WD_FRAMETEXT_BOTTOM, STR_MISSING_GRAPHICS_ERROR, TC_FROMSTRING, SA_CENTER); + } + } + + void OnClick(Point pt, int widget, int click_count) override + { + if (widget == WID_BEM_QUIT) { + _exit_game = true; + } + } +}; + /** Nested widgets for the download window. */ -static const NWidgetPart _nested_boostrap_download_status_window_widgets[] = { +static const NWidgetPart _nested_bootstrap_download_status_window_widgets[] = { NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_CONTENT_DOWNLOAD_TITLE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), NWidget(WWT_PANEL, COLOUR_GREY, WID_NCDS_BACKGROUND), NWidget(NWID_SPACER), SetMinimalSize(350, 0), SetMinimalTextLines(3, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 30), @@ -74,7 +132,7 @@ static WindowDesc _bootstrap_download_status_window_desc( WDP_CENTER, nullptr, 0, 0, WC_NETWORK_STATUS_WINDOW, WC_NONE, WDF_MODAL, - _nested_boostrap_download_status_window_widgets, lengthof(_nested_boostrap_download_status_window_widgets) + _nested_bootstrap_download_status_window_widgets, lengthof(_nested_bootstrap_download_status_window_widgets) ); @@ -86,6 +144,14 @@ public: { } + ~BootstrapContentDownloadStatusWindow() + { + /* If we are not set to exit the game, it means the bootstrap failed. */ + if (!_exit_game) { + new BootstrapErrorWindow(); + } + } + void OnDownloadComplete(ContentID cid) override { /* We have completed downloading. We can trigger finding the right set now. */ diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp index e1ecd94a2e..cf5361dc4a 100644 --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -88,8 +88,9 @@ static const NWidgetPart _nested_build_vehicle_widgets[] = { }; /** Special cargo filter criteria */ -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 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 const CargoID CF_ENGINES = CT_AUTO_REFIT; ///< Show only engines (for rail vehicles only) 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. @@ -557,16 +558,21 @@ const StringID _engine_sort_listing[][13] = {{ INVALID_STRING_ID }}; -/** Cargo filter functions */ -static bool CDECL CargoFilter(const EngineID *eid, const CargoID cid) +/** Filters vehicles by cargo and engine (in case of rail vehicle). */ +static bool CDECL CargoAndEngineFilter(const EngineID *eid, const CargoID cid) { - if (cid == CF_ANY) return true; - CargoTypes refit_mask = GetUnionOfArticulatedRefitMasks(*eid, true) & _standard_cargo_mask; - return (cid == CF_NONE ? refit_mask == 0 : HasBit(refit_mask, cid)); + if (cid == CF_ANY) { + return true; + } else if (cid == CF_ENGINES) { + return Engine::Get(*eid)->GetPower() != 0; + } else { + CargoTypes refit_mask = GetUnionOfArticulatedRefitMasks(*eid, true) & _standard_cargo_mask; + return (cid == CF_NONE ? refit_mask == 0 : HasBit(refit_mask, cid)); + } } static GUIEngineList::FilterFunction * const _filter_funcs[] = { - &CargoFilter, + &CargoAndEngineFilter, }; static int DrawCargoCapacityInfo(int left, int right, int y, EngineID engine, TestedEngineDetails &te) @@ -1072,8 +1078,8 @@ struct BuildVehicleWindow : Window { 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 + CargoID cargo_filter[NUM_CARGO + 3]; ///< Available cargo filters; CargoID or CF_ANY or CF_NONE or CF_ENGINES + StringID cargo_filter_texts[NUM_CARGO + 4]; ///< Texts for filter_cargo, terminated by INVALID_STRING_ID byte cargo_filter_criteria; ///< Selected cargo filter int details_height; ///< Minimal needed height of the details panels (found so far). Scrollbar *vscroll; @@ -1200,9 +1206,15 @@ struct BuildVehicleWindow : Window { this->cargo_filter_texts[filter_items] = STR_PURCHASE_INFO_ALL_TYPES; filter_items++; - /* Add item for vehicles not carrying anything, e.g. train engines. - * This could also be useful for eyecandy vehicles of other types, but is likely too confusing for joe, */ + /* Specific filters for trains. */ if (this->vehicle_type == VEH_TRAIN) { + /* Add item for locomotives only in case of trains. */ + this->cargo_filter[filter_items] = CF_ENGINES; + this->cargo_filter_texts[filter_items] = STR_PURCHASE_INFO_ENGINES_ONLY; + filter_items++; + + /* Add item for vehicles not carrying anything, e.g. train engines. + * This could also be useful for eyecandy vehicles of other types, but is likely too confusing for joe, */ this->cargo_filter[filter_items] = CF_NONE; this->cargo_filter_texts[filter_items] = STR_PURCHASE_INFO_NONE; filter_items++; @@ -1289,7 +1301,7 @@ struct BuildVehicleWindow : Window { bool FilterSingleEngine(EngineID eid) { CargoID filter_type = this->cargo_filter[this->cargo_filter_criteria]; - return (filter_type == CF_ANY || CargoFilter(&eid, filter_type)); + return CargoAndEngineFilter(&eid, filter_type); } /* Figure out what train EngineIDs to put in the list */ @@ -1504,7 +1516,7 @@ struct BuildVehicleWindow : Window { cmd = GetCmdBuildVeh(this->vehicle_type); } CargoID cargo = this->cargo_filter[this->cargo_filter_criteria]; - if (cargo == CF_ANY) cargo = CF_NONE; + if (cargo == CF_ANY || cargo == CF_ENGINES) cargo = CF_NONE; DoCommandP(this->window_number, sel_eng | (cargo << 24), 0, cmd, callback); } break; diff --git a/src/clear_cmd.cpp b/src/clear_cmd.cpp index afd4090cc4..85e4afa51e 100644 --- a/src/clear_cmd.cpp +++ b/src/clear_cmd.cpp @@ -370,6 +370,7 @@ void GenerateClearTile() TileIndex tile_new; SetClearGroundDensity(tile, CLEAR_ROCKS, 3); + MarkTileDirtyByTile(tile); do { if (--j == 0) goto get_out; tile_new = tile + TileOffsByDiagDir((DiagDirection)GB(Random(), 0, 2)); diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index 3b1aec73f0..eeb0a1fcab 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -130,6 +130,7 @@ void SetLocalCompany(CompanyID new_company) /* ... and redraw the whole screen. */ MarkWholeScreenDirty(); InvalidateWindowClassesData(WC_SIGN_LIST, -1); + InvalidateWindowClassesData(WC_GOALS_LIST); ClearZoningCaches(); } diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index b75e8cf0f3..65625ec1d8 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -57,7 +57,7 @@ #include "safeguards.h" /* scriptfile handling */ -static bool _script_running; ///< Script is running (used to abort execution when #ConReturn is encountered). +static uint _script_current_depth; ///< Depth of scripts running (used to abort execution when #ConReturn is encountered). /** File list storage for the console, for caching the last 'ls' command. */ class ConsoleFileList : public FileList { @@ -1035,10 +1035,16 @@ DEF_CONSOLE_CMD(ConExec) return true; } - _script_running = true; + if (_script_current_depth == 11) { + IConsoleError("Maximum 'exec' depth reached; script A is calling script B is calling script C ... more than 10 times."); + return true; + } + + _script_current_depth++; + uint script_depth = _script_current_depth; char cmdline[ICON_CMDLN_SIZE]; - while (_script_running && fgets(cmdline, sizeof(cmdline), script_file) != nullptr) { + while (fgets(cmdline, sizeof(cmdline), script_file) != nullptr) { /* Remove newline characters from the executing script */ for (char *cmdptr = cmdline; *cmdptr != '\0'; cmdptr++) { if (*cmdptr == '\n' || *cmdptr == '\r') { @@ -1047,13 +1053,18 @@ DEF_CONSOLE_CMD(ConExec) } } IConsoleCmdExec(cmdline); + /* Ensure that we are still on the same depth or that we returned via 'return'. */ + assert(_script_current_depth == script_depth || _script_current_depth == script_depth - 1); + + /* The 'return' command was executed. */ + if (_script_current_depth == script_depth - 1) break; } if (ferror(script_file)) { IConsoleError("Encountered error while trying to read from script file"); } - _script_running = false; + if (_script_current_depth == script_depth) _script_current_depth--; FioFCloseFile(script_file); return true; } @@ -1065,7 +1076,7 @@ DEF_CONSOLE_CMD(ConReturn) return true; } - _script_running = false; + _script_current_depth--; return true; } @@ -1409,7 +1420,7 @@ DEF_CONSOLE_CMD(ConRescanNewGRF) return true; } - ScanNewGRFFiles(nullptr); + RequestNewGRFScan(); return true; } diff --git a/src/crashlog.h b/src/crashlog.h index 3ab8ec09df..0b4f4b6b71 100644 --- a/src/crashlog.h +++ b/src/crashlog.h @@ -158,6 +158,12 @@ public: */ static void InitialiseCrashLog(); + /** + * Prepare crash log handler for a newly started thread. + * @note must be implemented by all implementers of CrashLog. + */ + static void InitThread(); + static void DesyncCrashLog(const std::string *log_in, std::string *log_out, const DesyncExtraInfo &info); static void VersionInfoLog(); diff --git a/src/driver.cpp b/src/driver.cpp index c4efd35692..42520648f2 100644 --- a/src/driver.cpp +++ b/src/driver.cpp @@ -9,10 +9,12 @@ #include "stdafx.h" #include "debug.h" +#include "error.h" #include "sound/sound_driver.hpp" #include "music/music_driver.hpp" #include "video/video_driver.hpp" #include "string_func.h" +#include "table/strings.h" #include #include @@ -111,6 +113,8 @@ bool DriverFactoryBase::SelectDriverImpl(const std::string &name, Driver::Type t if (d->type != type) continue; if (d->priority != priority) continue; + if (type == Driver::DT_VIDEO && !_video_hw_accel && d->UsesHardwareAcceleration()) continue; + Driver *oldd = *GetActiveDriver(type); Driver *newd = d->CreateInstance(); *GetActiveDriver(type) = newd; @@ -125,6 +129,12 @@ bool DriverFactoryBase::SelectDriverImpl(const std::string &name, Driver::Type t *GetActiveDriver(type) = oldd; DEBUG(driver, 1, "Probing %s driver '%s' failed with error: %s", GetDriverTypeName(type), d->name, err); delete newd; + + if (type == Driver::DT_VIDEO && _video_hw_accel && d->UsesHardwareAcceleration()) { + _video_hw_accel = false; + ErrorMessageData msg(STR_VIDEO_DRIVER_ERROR, STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION); + ScheduleErrorMessage(msg); + } } } usererror("Couldn't find any suitable %s driver", GetDriverTypeName(type)); diff --git a/src/driver.h b/src/driver.h index 68d9fac929..93aaf61550 100644 --- a/src/driver.h +++ b/src/driver.h @@ -107,6 +107,15 @@ protected: virtual ~DriverFactoryBase(); + /** + * Does the driver use hardware acceleration (video-drivers only). + * @return True if the driver uses hardware acceleration. + */ + virtual bool UsesHardwareAcceleration() const + { + return false; + } + public: /** * Shuts down all active drivers diff --git a/src/elrail.cpp b/src/elrail.cpp index bdcd4613f0..1981781e7e 100644 --- a/src/elrail.cpp +++ b/src/elrail.cpp @@ -155,6 +155,7 @@ static DualTrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override) */ static TrackBits MaskWireBits(TileIndex t, TrackBits tracks) { + /* Single track bits are never masked out. */ if (likely(HasAtMostOneBit(tracks))) return tracks; if (!IsPlainRailTile(t)) return tracks; diff --git a/src/error_gui.cpp b/src/error_gui.cpp index 710642dfe2..d531ad8c89 100644 --- a/src/error_gui.cpp +++ b/src/error_gui.cpp @@ -421,6 +421,7 @@ void ShowErrorMessage(StringID summary_msg, StringID detailed_msg, WarningLevel bool no_timeout = wl == WL_CRITICAL; + if (_game_mode == GM_BOOTSTRAP) return; if (_settings_client.gui.errmsg_duration == 0 && !no_timeout) return; ErrorMessageData data(summary_msg, detailed_msg, no_timeout ? 0 : _settings_client.gui.errmsg_duration, x, y, textref_stack_grffile, textref_stack_size, textref_stack, extra_msg); diff --git a/src/game/game_info.cpp b/src/game/game_info.cpp index 77725c5e7b..deda2e8933 100644 --- a/src/game/game_info.cpp +++ b/src/game/game_info.cpp @@ -23,7 +23,7 @@ */ static bool CheckAPIVersion(const char *api_version) { - static const std::set versions = {"1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11"}; + static const std::set versions = { "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11", "1.12" }; return versions.find(api_version) != versions.end(); } diff --git a/src/genworld.cpp b/src/genworld.cpp index fb03e00c2b..a3a31f5b3f 100644 --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -59,18 +59,10 @@ GenWorldInfo _gw; /** Whether we are generating the map or not. */ bool _generating_world; -/** - * Tells if the world generation is done in a thread or not. - * @return the 'threaded' status - */ -bool IsGenerateWorldThreaded() -{ - return _gw.threaded && !_gw.quit_thread; -} +class AbortGenerateWorldSignal { }; /** - * Clean up the 'mess' of generation. That is, show windows again, reset - * thread variables, and delete the progress window. + * Generation is done; show windows again and delete the progress window. */ static void CleanupGeneration() { @@ -78,11 +70,10 @@ static void CleanupGeneration() SetMouseCursorBusy(false); /* Show all vital windows again, because we have hidden them */ - if (_gw.threaded && _game_mode != GM_MENU) ShowVitalWindows(); + if (_game_mode != GM_MENU) ShowVitalWindows(); SetModalProgress(false); _gw.proc = nullptr; _gw.abortp = nullptr; - _gw.threaded = false; DeleteWindowByClass(WC_MODAL_PROGRESS); ShowFirstError(); @@ -97,10 +88,8 @@ static void _GenerateWorld() /* Make sure everything is done via OWNER_NONE. */ Backup _cur_company(_current_company, OWNER_NONE, FILE_LINE); - std::unique_lock lock(_modal_progress_work_mutex, std::defer_lock); try { _generating_world = true; - lock.lock(); 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(); @@ -141,14 +130,7 @@ static void _GenerateWorld() /* Only generate towns, tree and industries in newgame mode. */ if (_game_mode != GM_EDITOR) { if (!GenerateTowns(_settings_game.economy.town_layout)) { - _cur_company.Restore(); HandleGeneratingWorldAbortion(); - BasePersistentStorageArray::SwitchMode(PSM_LEAVE_GAMELOOP); - if (_network_dedicated) { - /* Exit the game to prevent a return to main menu. */ - DEBUG(net, 0, "Generating map failed, aborting"); - _exit_game = true; - } return; } GenerateIndustries(); @@ -207,7 +189,6 @@ static void _GenerateWorld() CleanupGeneration(); ShowNewGRFError(); - lock.unlock(); if (_network_dedicated) DEBUG(net, 1, "Map generated, starting game"); DEBUG(desync, 1, "new_map: %08x", _settings_game.game_creation.generation_seed); @@ -217,11 +198,19 @@ static void _GenerateWorld() seprintf(name, lastof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date); SaveOrLoad(name, SLO_SAVE, DFT_GAME_FILE, AUTOSAVE_DIR, false, SMF_ZSTD_OK); } - } catch (...) { + } catch (AbortGenerateWorldSignal&) { + CleanupGeneration(); + BasePersistentStorageArray::SwitchMode(PSM_LEAVE_GAMELOOP, true); if (_cur_company.IsValid()) _cur_company.Restore(); - _generating_world = false; - throw; + + if (_network_dedicated) { + /* Exit the game to prevent a return to main menu. */ + DEBUG(net, 0, "Generating map failed, aborting"); + _exit_game = true; + } else { + SwitchToMode(_switch_mode); + } } } @@ -245,23 +234,6 @@ void GenerateWorldSetAbortCallback(GWAbortProc *proc) _gw.abortp = proc; } -/** - * This will wait for the thread to finish up his work. It will not continue - * till the work is done. - */ -void WaitTillGeneratedWorld() -{ - if (!_gw.thread.joinable()) return; - - _modal_progress_work_mutex.unlock(); - _modal_progress_paint_mutex.unlock(); - _gw.quit_thread = true; - _gw.thread.join(); - _gw.threaded = false; - _modal_progress_work_mutex.lock(); - _modal_progress_paint_mutex.lock(); -} - /** * Initializes the abortion process */ @@ -276,7 +248,7 @@ void AbortGeneratingWorld() */ bool IsGeneratingWorldAborted() { - return _gw.abort; + return _gw.abort || _exit_game; } /** @@ -289,11 +261,7 @@ void HandleGeneratingWorldAbortion() if (_gw.abortp != nullptr) _gw.abortp(); - CleanupGeneration(); - - if (_gw.thread.joinable() && _gw.thread.get_id() == std::this_thread::get_id()) throw OTTDThreadExitSignal(); - - SwitchToMode(_switch_mode); + throw AbortGenerateWorldSignal(); } /** @@ -313,8 +281,6 @@ void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_setti _gw.abort = false; _gw.abortp = nullptr; _gw.lc = _local_company; - _gw.quit_thread = false; - _gw.threaded = true; /* This disables some commands and stuff */ SetLocalCompany(COMPANY_SPECTATOR); @@ -333,28 +299,16 @@ void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_setti SetupColoursAndInitialWindow(); SetObjectToPlace(SPR_CURSOR_ZZZ, PAL_NONE, HT_NONE, WC_MAIN_WINDOW, 0); - if (_gw.thread.joinable()) _gw.thread.join(); - - if (!UseThreadedModelProgress() || !VideoDriver::GetInstance()->HasGUI() || !StartNewThread(&_gw.thread, "ottd:genworld", &_GenerateWorld)) { - DEBUG(misc, 1, "Cannot create genworld thread, reverting to single-threaded mode"); - _gw.threaded = false; - _modal_progress_work_mutex.unlock(); - _GenerateWorld(); - _modal_progress_work_mutex.lock(); - return; - } - UnshowCriticalError(); - /* Remove any open window */ DeleteAllNonVitalWindows(); - /* Hide vital windows, because we don't allow to use them */ HideVitalWindows(); - /* Don't show the dialog if we don't have a thread */ ShowGenerateWorldProgress(); /* Centre the view on the map */ if (FindWindowById(WC_MAIN_WINDOW, 0) != nullptr) { ScrollMainWindowToTile(TileXY(MapSizeX() / 2, MapSizeY() / 2), true); } + + _GenerateWorld(); } diff --git a/src/genworld.h b/src/genworld.h index cfa0483256..ee06808eb9 100644 --- a/src/genworld.h +++ b/src/genworld.h @@ -55,15 +55,12 @@ typedef void GWAbortProc(); ///< Called when genworld is aborted /** Properties of current genworld process */ struct GenWorldInfo { bool abort; ///< Whether to abort the thread ASAP - bool quit_thread; ///< Do we want to quit the active thread - bool threaded; ///< Whether we run _GenerateWorld threaded GenWorldMode mode; ///< What mode are we making a world in CompanyID lc; ///< The local_company before generating uint size_x; ///< X-size of the map uint size_y; ///< Y-size of the map GWDoneProc *proc; ///< Proc that is called when done (can be nullptr) GWAbortProc *abortp; ///< Proc that is called when aborting (can be nullptr) - std::thread thread; ///< The thread we are in (joinable if a thread was created) }; /** Current stage of world generation process */ @@ -84,10 +81,8 @@ enum GenWorldProgress { }; /* genworld.cpp */ -bool IsGenerateWorldThreaded(); void GenerateWorldSetCallback(GWDoneProc *proc); void GenerateWorldSetAbortCallback(GWAbortProc *proc); -void WaitTillGeneratedWorld(); void GenerateWorld(GenWorldMode mode, uint size_x, uint size_y, bool reset_settings = true); void AbortGeneratingWorld(); bool IsGeneratingWorldAborted(); diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index 6ea6b1605e..84e222a020 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -30,6 +30,7 @@ #include "error.h" #include "newgrf_townname.h" #include "townname_type.h" +#include "video/video_driver.hpp" #include "widgets/genworld_widget.h" @@ -1430,10 +1431,10 @@ static void _SetGeneratingWorldProgress(GenWorldProgress cls, uint progress, uin static_assert(lengthof(percent_table) == GWP_CLASS_COUNT + 1); assert(cls < GWP_CLASS_COUNT); - /* Do not run this function if we aren't in a thread */ - if (!IsGenerateWorldThreaded() && !_network_dedicated) return; - - if (IsGeneratingWorldAborted()) HandleGeneratingWorldAbortion(); + if (IsGeneratingWorldAborted()) { + HandleGeneratingWorldAbortion(); + return; + } if (total == 0) { assert(_gws.cls == _generation_class_table[cls]); @@ -1446,10 +1447,6 @@ static void _SetGeneratingWorldProgress(GenWorldProgress cls, uint progress, uin _gws.percent = percent_table[cls]; } - /* Don't update the screen too often. So update it once in every once in a while... */ - if (!_network_dedicated && std::chrono::steady_clock::now() < _gws.next_update) return; - _gws.next_update = std::chrono::steady_clock::now() + std::chrono::milliseconds(MODAL_PROGRESS_REDRAW_TIMEOUT); - /* Percentage is about the number of completed tasks, so 'current - 1' */ _gws.percent = percent_table[cls] + (percent_table[cls + 1] - percent_table[cls]) * (_gws.current == 0 ? 0 : _gws.current - 1) / _gws.total; @@ -1468,21 +1465,12 @@ static void _SetGeneratingWorldProgress(GenWorldProgress cls, uint progress, uin DEBUG(net, 1, "Map generation percentage complete: %d", _gws.percent); last_percent = _gws.percent; - /* Don't continue as dedicated never has a thread running */ return; } SetWindowDirty(WC_MODAL_PROGRESS, 0); - MarkWholeScreenDirty(); - /* Release the rights to the map generator, and acquire the rights to the - * paint thread. The 'other' thread already has the paint thread rights so - * this ensures us that we are waiting until the paint thread is done - * before we reacquire the mapgen rights */ - _modal_progress_work_mutex.unlock(); - _modal_progress_paint_mutex.lock(); - _modal_progress_work_mutex.lock(); - _modal_progress_paint_mutex.unlock(); + VideoDriver::GetInstance()->GameLoopPause(); } /** diff --git a/src/gfx.cpp b/src/gfx.cpp index 2209c9aabc..46ca0ffd0d 100644 --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -1557,29 +1557,6 @@ void DrawDirtyBlocks() { static std::vector dirty_widgets; - if (HasModalProgress()) { - /* We are generating the world, so release our rights to the map and - * painting while we are waiting a bit. */ - bool is_first_modal_progress_loop = IsFirstModalProgressLoop(); - _modal_progress_paint_mutex.unlock(); - _modal_progress_work_mutex.unlock(); - - /* Wait a while and hope the modal gives us a bit of time to draw the GUI. */ - if (!is_first_modal_progress_loop) SleepWhileModalProgress(MODAL_PROGRESS_REDRAW_TIMEOUT); - - /* Modal progress thread may need blitter access while we are waiting for it. */ - VideoDriver::GetInstance()->ReleaseBlitterLock(); - _modal_progress_paint_mutex.lock(); - VideoDriver::GetInstance()->AcquireBlitterLock(); - _modal_progress_work_mutex.lock(); - - /* When we ended with the modal progress, do not draw the blocks. - * Simply let the next run do so, otherwise we would be loading - * the new state (and possibly change the blitter) when we hold - * the drawing lock, which we must not do. */ - if (_switch_mode != SM_NONE && !HasModalProgress()) return; - } - extern void ViewportPrepareVehicleRoute(); ViewportPrepareVehicleRoute(); @@ -2205,6 +2182,10 @@ void UpdateGUIZoom() if (_gui_zoom_cfg == ZOOM_LVL_CFG_AUTO) { _gui_zoom = static_cast(Clamp(VideoDriver::GetInstance()->GetSuggestedUIZoom(), _settings_client.gui.zoom_min, _settings_client.gui.zoom_max)); } else { + /* Ensure the gui_zoom is clamped between min/max. Change the + * _gui_zoom_cfg if it isn't, as this is used to visually show the + * selection in the Game Options. */ + _gui_zoom_cfg = Clamp(_gui_zoom_cfg, _settings_client.gui.zoom_min, _settings_client.gui.zoom_max); _gui_zoom = static_cast(_gui_zoom_cfg); } diff --git a/src/gfxinit.cpp b/src/gfxinit.cpp index e8fd758f8b..51fb77f791 100644 --- a/src/gfxinit.cpp +++ b/src/gfxinit.cpp @@ -341,11 +341,6 @@ static bool SwitchNewGRFBlitter() const bool animation_wanted = HasBit(_display_opt, DO_FULL_ANIMATION); const char *cur_blitter = BlitterFactory::GetCurrentBlitter()->GetName(); - VideoDriver::GetInstance()->AcquireBlitterLock(); - auto guard = scope_guard([&]() { - VideoDriver::GetInstance()->ReleaseBlitterLock(); - }); - for (uint i = 0; i < lengthof(replacement_blitters); i++) { if (animation_wanted && (replacement_blitters[i].animation == 0)) continue; if (!animation_wanted && (replacement_blitters[i].animation == 1)) continue; @@ -354,21 +349,16 @@ static bool SwitchNewGRFBlitter() if (!IsInsideMM(depth_wanted_by_grf, replacement_blitters[i].min_grf_depth, replacement_blitters[i].max_grf_depth + 1)) continue; const char *repl_blitter = replacement_blitters[i].name; - if (strcmp(repl_blitter, cur_blitter) == 0) return false; + if (strcmp(repl_blitter, cur_blitter) == 0) { + return false; + } if (BlitterFactory::GetBlitterFactory(repl_blitter) == nullptr) continue; - DEBUG(misc, 1, "Switching blitter from '%s' to '%s'... ", cur_blitter, repl_blitter); - Blitter *new_blitter = BlitterFactory::SelectBlitter(repl_blitter); - if (new_blitter == nullptr) NOT_REACHED(); - DEBUG(misc, 1, "Successfully switched to %s.", repl_blitter); + /* Inform the video driver we want to switch blitter as soon as possible. */ + VideoDriver::GetInstance()->ChangeBlitter(repl_blitter); break; } - if (!VideoDriver::GetInstance()->AfterBlitterChange()) { - /* Failed to switch blitter, let's hope we can return to the old one. */ - if (BlitterFactory::SelectBlitter(cur_blitter) == nullptr || !VideoDriver::GetInstance()->AfterBlitterChange()) usererror("Failed to reinitialize video driver. Specify a fixed blitter in the config"); - } - return true; } diff --git a/src/goal_gui.cpp b/src/goal_gui.cpp index 86f73dd0bc..9fdca309bc 100644 --- a/src/goal_gui.cpp +++ b/src/goal_gui.cpp @@ -46,6 +46,8 @@ struct GoalListWindow : public Window { this->vscroll = this->GetScrollbar(WID_GOAL_SCROLLBAR); this->FinishInitNested(window_number); this->owner = (Owner)this->window_number; + NWidgetStacked *wi = this->GetWidget(WID_GOAL_SELECT_BUTTONS); + wi->SetDisplayedPlane(window_number == INVALID_COMPANY ? 1 : 0); this->OnInvalidateData(0); } @@ -63,37 +65,31 @@ struct GoalListWindow : public Window { void OnClick(Point pt, int widget, int click_count) override { - if (widget != WID_GOAL_LIST) return; + switch (widget) { + case WID_GOAL_GLOBAL_BUTTON: + ShowGoalsList(INVALID_COMPANY); + break; - int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_GOAL_LIST, WD_FRAMERECT_TOP); - int num = 0; - for (const Goal *s : Goal::Iterate()) { - if (s->company == INVALID_COMPANY) { - y--; - if (y == 0) { - this->HandleClick(s); - return; + case WID_GOAL_COMPANY_BUTTON: + ShowGoalsList(_local_company); + break; + + case WID_GOAL_LIST: { + int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_GOAL_LIST, WD_FRAMERECT_TOP); + for (const Goal *s : Goal::Iterate()) { + if (s->company == this->window_number) { + if (y == 0) { + this->HandleClick(s); + return; + } + y--; + } } - num++; + break; } - } - if (num == 0) { - y--; // "None" line. - if (y < 0) return; - } - - y -= 2; // "Company specific goals:" line. - if (y < 0) return; - - for (const Goal *s : Goal::Iterate()) { - if (s->company == this->window_number && s->company != INVALID_COMPANY) { - y--; - if (y == 0) { - this->HandleClick(s); - return; - } - } + default: + break; } } @@ -161,28 +157,21 @@ struct GoalListWindow : public Window { uint CountLines() { /* Count number of (non) awarded goals. */ - uint num_global = 0; - uint num_company = 0; + uint num = 0; for (const Goal *s : Goal::Iterate()) { - if (s->company == INVALID_COMPANY) { - num_global++; - } else if (s->company == this->window_number) { - num_company++; - } + if (s->company == this->window_number) num++; } /* Count the 'none' lines. */ - if (num_global == 0) num_global = 1; - if (num_company == 0) num_company = 1; + if (num == 0) num = 1; - /* Global, company and an empty line before the accepted ones. */ - return 3 + num_global + num_company; + return num; } void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override { if (widget != WID_GOAL_LIST) return; - Dimension d = maxdim(GetStringBoundingBox(STR_GOALS_GLOBAL_TITLE), GetStringBoundingBox(STR_GOALS_COMPANY_TITLE)); + Dimension d = GetStringBoundingBox(STR_GOALS_NONE); resize->height = d.height; @@ -193,26 +182,26 @@ struct GoalListWindow : public Window { } /** - * Draws either the global goals or the company goal section. - * This is a helper method for #DrawWidget. - * @param[in,out] pos Vertical line number to draw. - * @param cap Number of lines to draw in the window. - * @param x Left edge of the text line to draw. - * @param y Vertical position of the top edge of the window. - * @param right Right edge of the text line to draw. - * @param global_section Whether the global goals are printed. + * Draws a given column of the goal list. * @param column Which column to draw. + * @param wid Pointer to the goal list widget. + * @param progress_col_width Width of the progress column. + * @return max width of drawn text */ - void DrawPartialGoalList(int &pos, const int cap, int x, int y, int right, uint progress_col_width, bool global_section, GoalColumn column) const + void DrawListColumn(GoalColumn column, NWidgetBase *wid, uint progress_col_width) const { - if (column == GC_GOAL && IsInsideMM(pos, 0, cap)) DrawString(x, right, y + pos * FONT_HEIGHT_NORMAL, global_section ? STR_GOALS_GLOBAL_TITLE : STR_GOALS_COMPANY_TITLE); - pos++; - + /* Get column draw area. */ + int y = wid->pos_y + WD_FRAMERECT_TOP; + int x = wid->pos_x + WD_FRAMERECT_LEFT; + int right = x + wid->current_x - WD_FRAMERECT_RIGHT; bool rtl = _current_text_dir == TD_RTL; + int pos = -this->vscroll->GetPosition(); + const int cap = this->vscroll->GetCapacity(); + uint num = 0; for (const Goal *s : Goal::Iterate()) { - if (global_section ? s->company == INVALID_COMPANY : (s->company == this->window_number && s->company != INVALID_COMPANY)) { + if (s->company == this->window_number) { if (IsInsideMM(pos, 0, cap)) { switch (column) { case GC_GOAL: { @@ -241,38 +230,12 @@ struct GoalListWindow : public Window { if (num == 0) { if (column == GC_GOAL && IsInsideMM(pos, 0, cap)) { - StringID str = !global_section && this->window_number == INVALID_COMPANY ? STR_GOALS_SPECTATOR_NONE : STR_GOALS_NONE; - DrawString(x, right, y + pos * FONT_HEIGHT_NORMAL, str); + DrawString(x, right, y + pos * FONT_HEIGHT_NORMAL, STR_GOALS_NONE); } pos++; } } - /** - * Draws a given column of the goal list. - * @param column Which column to draw. - * @param wid Pointer to the goal list widget. - * @param progress_col_width Width of the progress column. - * @return max width of drawn text - */ - void DrawListColumn(GoalColumn column, NWidgetBase *wid, uint progress_col_width) const - { - /* Get column draw area. */ - int y = wid->pos_y + WD_FRAMERECT_TOP; - int x = wid->pos_x + WD_FRAMERECT_LEFT; - int right = x + wid->current_x - WD_FRAMERECT_RIGHT; - - int pos = -this->vscroll->GetPosition(); - const int cap = this->vscroll->GetCapacity(); - - /* Draw partial list with global goals. */ - DrawPartialGoalList(pos, cap, x, y, right, progress_col_width, true, column); - - /* Draw partial list with company goals. */ - pos++; - DrawPartialGoalList(pos, cap, x, y, right, progress_col_width, false, column); - } - void OnPaint() override { this->DrawWidgets(); @@ -313,6 +276,8 @@ struct GoalListWindow : public Window { { if (!gui_scope) return; this->vscroll->SetCount(this->CountLines()); + this->SetWidgetDisabledState(WID_GOAL_COMPANY_BUTTON, _local_company == COMPANY_SPECTATOR); + this->SetWidgetDirty(WID_GOAL_COMPANY_BUTTON); this->SetWidgetDirty(WID_GOAL_LIST); } }; @@ -322,6 +287,10 @@ static const NWidgetPart _nested_goals_list_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_BROWN), NWidget(WWT_CAPTION, COLOUR_BROWN, WID_GOAL_CAPTION), SetDataTip(STR_JUST_STRING, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(NWID_SELECTION, INVALID_COLOUR, WID_GOAL_SELECT_BUTTONS), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_GLOBAL_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GOALS_GLOBAL_BUTTON, STR_GOALS_GLOBAL_BUTTON_HELPTEXT), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_GOAL_COMPANY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GOALS_COMPANY_BUTTON, STR_GOALS_COMPANY_BUTTON_HELPTEXT), + EndContainer(), NWidget(WWT_SHADEBOX, COLOUR_BROWN), NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), NWidget(WWT_STICKYBOX, COLOUR_BROWN), diff --git a/src/graph_gui.cpp b/src/graph_gui.cpp index 7923c62ccb..86ea64df6d 100644 --- a/src/graph_gui.cpp +++ b/src/graph_gui.cpp @@ -113,7 +113,7 @@ static NWidgetBase *MakeNWidgetCompanyLines(int *biggest_index) uint line_height = std::max(GetSpriteSize(SPR_COMPANY_ICON).height, FONT_HEIGHT_NORMAL) + WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM; for (int widnum = WID_GL_FIRST_COMPANY; widnum <= WID_GL_LAST_COMPANY; widnum++) { - NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, widnum); + NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_BROWN, widnum); panel->SetMinimalSize(246, line_height); panel->SetFill(1, 0); panel->SetDataTip(0x0, STR_GRAPH_KEY_COMPANY_SELECTION_TOOLTIP); @@ -125,12 +125,12 @@ static NWidgetBase *MakeNWidgetCompanyLines(int *biggest_index) static const NWidgetPart _nested_graph_legend_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_KEY_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_KEY_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), - NWidget(WWT_PANEL, COLOUR_GREY, WID_GL_BACKGROUND), + NWidget(WWT_PANEL, COLOUR_BROWN, WID_GL_BACKGROUND), NWidget(NWID_SPACER), SetMinimalSize(0, 2), NWidget(NWID_HORIZONTAL), NWidget(NWID_SPACER), SetMinimalSize(2, 0), @@ -634,19 +634,19 @@ struct OperatingProfitGraphWindow : BaseGraphWindow { static const NWidgetPart _nested_operating_profit_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_OPERATING_PROFIT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_OPERATING_PROFIT_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), - NWidget(WWT_PANEL, COLOUR_GREY, WID_CV_BACKGROUND), + NWidget(WWT_PANEL, COLOUR_BROWN, WID_CV_BACKGROUND), NWidget(NWID_HORIZONTAL), - NWidget(WWT_EMPTY, COLOUR_GREY, WID_CV_GRAPH), SetMinimalSize(576, 160), SetFill(1, 1), SetResize(1, 1), + NWidget(WWT_EMPTY, COLOUR_BROWN, WID_CV_GRAPH), SetMinimalSize(576, 160), SetFill(1, 1), SetResize(1, 1), NWidget(NWID_VERTICAL), NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1), - NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CV_RESIZE), + NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE), EndContainer(), EndContainer(), EndContainer(), @@ -685,19 +685,19 @@ struct IncomeGraphWindow : BaseGraphWindow { static const NWidgetPart _nested_income_graph_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_INCOME_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_INCOME_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), - NWidget(WWT_PANEL, COLOUR_GREY, WID_CV_BACKGROUND), + NWidget(WWT_PANEL, COLOUR_BROWN, WID_CV_BACKGROUND), NWidget(NWID_HORIZONTAL), - NWidget(WWT_EMPTY, COLOUR_GREY, WID_CV_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1), + NWidget(WWT_EMPTY, COLOUR_BROWN, WID_CV_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1), NWidget(NWID_VERTICAL), NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1), - NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CV_RESIZE), + NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE), EndContainer(), EndContainer(), EndContainer(), @@ -734,19 +734,19 @@ struct DeliveredCargoGraphWindow : BaseGraphWindow { static const NWidgetPart _nested_delivered_cargo_graph_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_CARGO_DELIVERED_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_CARGO_DELIVERED_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), - NWidget(WWT_PANEL, COLOUR_GREY, WID_CV_BACKGROUND), + NWidget(WWT_PANEL, COLOUR_BROWN, WID_CV_BACKGROUND), NWidget(NWID_HORIZONTAL), - NWidget(WWT_EMPTY, COLOUR_GREY, WID_CV_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1), + NWidget(WWT_EMPTY, COLOUR_BROWN, WID_CV_GRAPH), SetMinimalSize(576, 128), SetFill(1, 1), SetResize(1, 1), NWidget(NWID_VERTICAL), NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1), - NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CV_RESIZE), + NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE), EndContainer(), EndContainer(), EndContainer(), @@ -789,20 +789,20 @@ struct PerformanceHistoryGraphWindow : BaseGraphWindow { static const NWidgetPart _nested_performance_history_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_PHG_DETAILED_PERFORMANCE), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_PERFORMANCE_DETAIL_KEY, STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP), - NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_PHG_KEY), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_COMPANY_PERFORMANCE_RATINGS_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_DETAILED_PERFORMANCE), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_PERFORMANCE_DETAIL_KEY, STR_GRAPH_PERFORMANCE_DETAIL_TOOLTIP), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_PHG_KEY), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), - NWidget(WWT_PANEL, COLOUR_GREY, WID_PHG_BACKGROUND), + NWidget(WWT_PANEL, COLOUR_BROWN, WID_PHG_BACKGROUND), NWidget(NWID_HORIZONTAL), - NWidget(WWT_EMPTY, COLOUR_GREY, WID_PHG_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1), + NWidget(WWT_EMPTY, COLOUR_BROWN, WID_PHG_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1), NWidget(NWID_VERTICAL), NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1), - NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_PHG_RESIZE), + NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_PHG_RESIZE), EndContainer(), EndContainer(), EndContainer(), @@ -839,19 +839,19 @@ struct CompanyValueGraphWindow : BaseGraphWindow { static const NWidgetPart _nested_company_value_graph_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_COMPANY_VALUES_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_COMPANY_VALUES_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CV_KEY_BUTTON), SetMinimalSize(50, 0), SetMinimalTextLines(1, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM + 2), SetDataTip(STR_GRAPH_KEY_BUTTON, STR_GRAPH_KEY_TOOLTIP), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), - NWidget(WWT_PANEL, COLOUR_GREY, WID_CV_BACKGROUND), + NWidget(WWT_PANEL, COLOUR_BROWN, WID_CV_BACKGROUND), NWidget(NWID_HORIZONTAL), - NWidget(WWT_EMPTY, COLOUR_GREY, WID_CV_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1), + NWidget(WWT_EMPTY, COLOUR_BROWN, WID_CV_GRAPH), SetMinimalSize(576, 224), SetFill(1, 1), SetResize(1, 1), NWidget(NWID_VERTICAL), NWidget(NWID_SPACER), SetFill(0, 1), SetResize(0, 1), - NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CV_RESIZE), + NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CV_RESIZE), EndContainer(), EndContainer(), EndContainer(), @@ -954,7 +954,7 @@ struct PaymentRatesGraphWindow : BaseGraphWindow { bool lowered = !HasBit(_legend_excluded_cargo, cs->Index()); /* Redraw box if lowered */ - if (lowered) DrawFrameRect(r.left, y, r.right, y + this->line_height - 1, COLOUR_ORANGE, lowered ? FR_LOWERED : FR_NONE); + if (lowered) DrawFrameRect(r.left, y, r.right, y + this->line_height - 1, COLOUR_BROWN, lowered ? FR_LOWERED : FR_NONE); byte clk_dif = lowered ? 1 : 0; int rect_x = clk_dif + (rtl ? r.right - 12 : r.left + WD_FRAMERECT_LEFT); @@ -1049,28 +1049,28 @@ struct PaymentRatesGraphWindow : BaseGraphWindow { static const NWidgetPart _nested_cargo_payment_rates_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), - NWidget(WWT_PANEL, COLOUR_GREY, WID_CPR_BACKGROUND), SetMinimalSize(568, 128), + NWidget(WWT_PANEL, COLOUR_BROWN, WID_CPR_BACKGROUND), SetMinimalSize(568, 128), NWidget(NWID_HORIZONTAL), NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0), - NWidget(WWT_TEXT, COLOUR_GREY, WID_CPR_HEADER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_TITLE, STR_NULL), + NWidget(WWT_TEXT, COLOUR_BROWN, WID_CPR_HEADER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_TITLE, STR_NULL), NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0), EndContainer(), NWidget(NWID_HORIZONTAL), - NWidget(WWT_EMPTY, COLOUR_GREY, WID_CPR_GRAPH), SetMinimalSize(495, 0), SetFill(1, 1), SetResize(1, 1), + NWidget(WWT_EMPTY, COLOUR_BROWN, WID_CPR_GRAPH), SetMinimalSize(495, 0), SetFill(1, 1), SetResize(1, 1), NWidget(NWID_VERTICAL), NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 1), - NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_CPR_ENABLE_CARGOES), SetDataTip(STR_GRAPH_CARGO_ENABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL), SetFill(1, 0), - NWidget(WWT_PUSHTXTBTN, COLOUR_ORANGE, WID_CPR_DISABLE_CARGOES), SetDataTip(STR_GRAPH_CARGO_DISABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL), SetFill(1, 0), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CPR_ENABLE_CARGOES), SetDataTip(STR_GRAPH_CARGO_ENABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL), SetFill(1, 0), + NWidget(WWT_PUSHTXTBTN, COLOUR_BROWN, WID_CPR_DISABLE_CARGOES), SetDataTip(STR_GRAPH_CARGO_DISABLE_ALL, STR_GRAPH_CARGO_TOOLTIP_DISABLE_ALL), SetFill(1, 0), NWidget(NWID_SPACER), SetMinimalSize(0, 4), NWidget(NWID_HORIZONTAL), - NWidget(WWT_MATRIX, COLOUR_ORANGE, WID_CPR_MATRIX), SetResize(0, 2), SetMatrixDataTip(1, 0, STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO), SetScrollbar(WID_CPR_MATRIX_SCROLLBAR), - NWidget(NWID_VSCROLLBAR, COLOUR_ORANGE, WID_CPR_MATRIX_SCROLLBAR), + NWidget(WWT_MATRIX, COLOUR_BROWN, WID_CPR_MATRIX), SetResize(0, 2), SetMatrixDataTip(1, 0, STR_GRAPH_CARGO_PAYMENT_TOGGLE_CARGO), SetScrollbar(WID_CPR_MATRIX_SCROLLBAR), + NWidget(NWID_VSCROLLBAR, COLOUR_BROWN, WID_CPR_MATRIX_SCROLLBAR), EndContainer(), NWidget(NWID_SPACER), SetMinimalSize(0, 24), SetFill(0, 1), EndContainer(), @@ -1078,9 +1078,9 @@ static const NWidgetPart _nested_cargo_payment_rates_widgets[] = { EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(NWID_SPACER), SetMinimalSize(WD_RESIZEBOX_WIDTH, 0), SetFill(1, 0), SetResize(1, 0), - NWidget(WWT_TEXT, COLOUR_GREY, WID_CPR_FOOTER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL, STR_NULL), + NWidget(WWT_TEXT, COLOUR_BROWN, WID_CPR_FOOTER), SetMinimalSize(0, 6), SetPadding(2, 0, 2, 0), SetDataTip(STR_GRAPH_CARGO_PAYMENT_RATES_X_LABEL, STR_NULL), NWidget(NWID_SPACER), SetFill(1, 0), SetResize(1, 0), - NWidget(WWT_RESIZEBOX, COLOUR_GREY, WID_CPR_RESIZE), + NWidget(WWT_RESIZEBOX, COLOUR_BROWN, WID_CPR_RESIZE), EndContainer(), EndContainer(), }; @@ -1264,12 +1264,12 @@ public: static const NWidgetPart _nested_company_league_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_COMPANY_LEAGUE_TABLE_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_COMPANY_LEAGUE_TABLE_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), - NWidget(WWT_PANEL, COLOUR_GREY, WID_CL_BACKGROUND), SetMinimalSize(400, 0), SetMinimalTextLines(15, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), + NWidget(WWT_PANEL, COLOUR_BROWN, WID_CL_BACKGROUND), SetMinimalSize(400, 0), SetMinimalTextLines(15, WD_FRAMERECT_TOP + WD_FRAMERECT_BOTTOM), }; static WindowDesc _company_league_desc( @@ -1539,7 +1539,7 @@ static NWidgetBase *MakePerformanceDetailPanels(int *biggest_index) NWidgetVertical *vert = new NWidgetVertical(NC_EQUALSIZE); for (int widnum = WID_PRD_SCORE_FIRST; widnum <= WID_PRD_SCORE_LAST; widnum++) { - NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, widnum); + NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_BROWN, widnum); panel->SetFill(1, 1); panel->SetDataTip(0x0, performance_tips[widnum - WID_PRD_SCORE_FIRST]); vert->Add(panel); @@ -1551,17 +1551,17 @@ static NWidgetBase *MakePerformanceDetailPanels(int *biggest_index) /** Make a number of rows with buttons for each company for the performance rating detail window. */ NWidgetBase *MakeCompanyButtonRowsGraphGUI(int *biggest_index) { - return MakeCompanyButtonRows(biggest_index, WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST, 8, STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP); + return MakeCompanyButtonRows(biggest_index, WID_PRD_COMPANY_FIRST, WID_PRD_COMPANY_LAST, COLOUR_BROWN, 8, STR_PERFORMANCE_DETAIL_SELECT_COMPANY_TOOLTIP); } static const NWidgetPart _nested_performance_rating_detail_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY), SetDataTip(STR_PERFORMANCE_DETAIL, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN), SetDataTip(STR_PERFORMANCE_DETAIL, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), - NWidget(WWT_PANEL, COLOUR_GREY), + NWidget(WWT_PANEL, COLOUR_BROWN), NWidgetFunction(MakeCompanyButtonRowsGraphGUI), SetPadding(0, 1, 1, 2), EndContainer(), NWidgetFunction(MakePerformanceDetailPanels), diff --git a/src/landscape.cpp b/src/landscape.cpp index f2ff116bfa..dc440b519b 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -1088,6 +1088,7 @@ static bool MakeLake(TileIndex tile, void *user_data) TileIndex t2 = tile + TileOffsByDiagDir(d); if (IsWaterTile(t2)) { MakeRiver(tile, Random()); + MarkTileDirtyByTile(tile); /* Remove desert directly around the river tile. */ TileIndex t = tile; CircularTileSearch(&t, _settings_game.game_creation.river_tropics_width, RiverModifyDesertZone, nullptr); @@ -1161,6 +1162,7 @@ static void River_FoundEndNode(AyStar *aystar, OpenListNode *current) TileIndex tile = path->node.tile; if (!IsWaterTile(tile)) { MakeRiver(tile, Random()); + MarkTileDirtyByTile(tile); /* Remove desert directly around the river tile. */ CircularTileSearch(&tile, _settings_game.game_creation.river_tropics_width, RiverModifyDesertZone, nullptr); } @@ -1273,6 +1275,7 @@ static bool FlowRiver(TileIndex spring, TileIndex begin) DistanceManhattan(spring, lakeCenter) > _settings_game.game_creation.min_river_length) { end = lakeCenter; MakeRiver(lakeCenter, Random()); + MarkTileDirtyByTile(lakeCenter); /* Remove desert directly around the river tile. */ CircularTileSearch(&lakeCenter, _settings_game.game_creation.river_tropics_width, RiverModifyDesertZone, nullptr); lakeCenter = end; @@ -1394,8 +1397,11 @@ void GenerateLandscape(byte mode) /* Do not call IncreaseGeneratingWorldProgress() before FixSlopes(), * it allows screen redraw. Drawing of broken slopes crashes the game */ FixSlopes(); + MarkWholeScreenDirty(); IncreaseGeneratingWorldProgress(GWP_LANDSCAPE); + ConvertGroundTilesIntoWaterTiles(); + MarkWholeScreenDirty(); IncreaseGeneratingWorldProgress(GWP_LANDSCAPE); if (_settings_game.game_creation.landscape == LT_TROPIC) CreateDesertOrRainForest(); diff --git a/src/lang/afrikaans.txt b/src/lang/afrikaans.txt index c0af3fc008..10e5ec832d 100644 --- a/src/lang/afrikaans.txt +++ b/src/lang/afrikaans.txt @@ -990,6 +990,7 @@ 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_GUI_ZOOM_FRAME :{BLACK} Koppelvlak groote STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK} Kies die koppelvlak element groote om te gebruik @@ -1003,6 +1004,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normaal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbele grootte STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad grootte + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis-grafikastel STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kies die basis-grafikastel stel om te gebruik STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} verlore / korrupte ler{P "" s} @@ -1750,6 +1753,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Program is uit geheue uit STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Allokering van {BYTES} kasgeheue vir grafika het gefaal. Die kasgeheue is verminder na {BYTES}. Dit sal OpenTDD stadiger maak. Om geheue-aanvraag te verminder, kan u 32bpp grafika en/of zoom-vlakke afskakel. +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2270,6 +2275,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, laai die grafika af STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nee, verlaat OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Deursigtigheid Opsies STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Wissel deursigtigheid vir stasietekens. Ctrl+klik om te sluit @@ -3102,13 +3108,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Koop di STR_GOALS_CAPTION :{WHITE}{COMPANY} Doelwitte STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globale Doelwitte STR_GOALS_SPECTATOR :Globale doelwitte -STR_GOALS_GLOBAL_TITLE :{BLACK}Globale doelwitte: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Geen - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nie van toepassing - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Maatskappy doelwitte: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klik op doel om skerm oor die industrie/stad/teël te sentreer. Ctrl+klik maak 'n nuwe venster vir die industrie/stad/teël oop # Goal question window diff --git a/src/lang/arabic_egypt.txt b/src/lang/arabic_egypt.txt index e208f08374..58de7d803c 100644 --- a/src/lang/arabic_egypt.txt +++ b/src/lang/arabic_egypt.txt @@ -940,6 +940,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}دقة STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}اختر دقة الشاشة STR_GAME_OPTIONS_RESOLUTION_OTHER :اخرى + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}حجم اللوحة STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}حدد العنصر المطلوب @@ -949,6 +950,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :تقريب ×4 + + STR_GAME_OPTIONS_BASE_GRF :{BLACK} الواجهة الرسومية الاساسية STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK} اختر مجموعة الواجهة الرسومية STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ملف مفقود او غير صالح @@ -1405,6 +1408,8 @@ STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :غير متطا STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :مجهول STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... نسبة الضغط '{STRING}' غير صحيحة +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1897,6 +1902,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}تحتا STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}نعم, حمل الرسومات STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}لا, اغلق اللعبة + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}خيارات الشفافية STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}بدل شفافية اسماء المحطات. مفتاح كنترول للاغلاق. diff --git a/src/lang/basque.txt b/src/lang/basque.txt index 866597d2c3..98e519654a 100644 --- a/src/lang/basque.txt +++ b/src/lang/basque.txt @@ -961,6 +961,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Pantaila STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Pantailaren resulozioa aukeratu STR_GAME_OPTIONS_RESOLUTION_OTHER :besteak + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interfaze tamaina STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normala @@ -969,6 +970,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Tamaina laukoit + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafiko basea markatu STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Aukeratu erabili beharreko grafiko paketea STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} galdutako/hautsitako artxiboa{P "" k} @@ -1626,6 +1629,8 @@ STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... jara STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... jaramonik ez egiten musika paketeari'{STRING}': ez da aurkitu STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memoriaz kanpo +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2136,6 +2141,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD- STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Bai, grafikoak jaitsi STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ez, OpenTTD itxi + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Gardentasun aukerak STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Seinaleen gardentasuna aldatu. Ktrl+Klik blokeatzeko @@ -2904,13 +2910,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Udaletx # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Helburuak STR_GOALS_SPECTATOR_CAPTION :{WHITE}Helburu orokorrak -STR_GOALS_GLOBAL_TITLE :{BLACK}Helburu orokorrak: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Ezer ez - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Ez aplikagarria - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Konpainiaren helburuak: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikatu helburuan ikupegi nagusia industrian/herrian/laukian zentratzeko. Ktrl+Klik ikuspegi lehio berria irekiko du industri/herri/laukiaren kokapenean # Goal question window diff --git a/src/lang/belarusian.txt b/src/lang/belarusian.txt index b0a4c9ebb7..b0870e9cb8 100644 --- a/src/lang/belarusian.txt +++ b/src/lang/belarusian.txt @@ -1299,6 +1299,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Выра STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Выбар вырашэньня экрана STR_GAME_OPTIONS_RESOLUTION_OTHER :Iншае + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Памер элементаў інтэрфейсу STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Выберыце памер элементаў інтэрфейсу @@ -1311,6 +1312,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Абяр STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Звычайны + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Набор базавай ґрафікі STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Выбар базавага набору ґрафічных аб'ектаў STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} адсутнічаюч{P ы ых ых}/пашкоджан{P ы ых ых} файл{P "" ы аў} @@ -2059,6 +2062,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... на STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Недахоп апэратыўнай памяці STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Не атрымалася вылучыць {BYTES} для кэша спрайтаў. Памер кэша зніжаны да {BYTES}. Гэта адмоўна адаб'ецца на прадукцыйнасьці OpenTTD. Каб зьменшыць выдаткі памяці, адключыце 32-бітную ґрафіку й зьменшыце максімальны ўзровень набліжэньня. +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2595,6 +2600,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Так, спампаваць ґрафiку STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Не, выйсьцi з OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Наладкі празрыстасьці STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Пераключэньне празрыстасьці надпісаў. Ctrl+пстрычка — заблякаваць. @@ -3424,13 +3430,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Дац STR_GOALS_CAPTION :{WHITE}Задачы кампаніі «{COMPANY}» STR_GOALS_SPECTATOR_CAPTION :{WHITE}Глабальныя задачы STR_GOALS_SPECTATOR :Агульныя задачы -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_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Задачы кампаніі: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Пстрыкніце па задачы, каб паказаць прадпрыемства/горад/клетку. Ctrl+пстрычка паказвае ў новым вакне. # Goal question window diff --git a/src/lang/brazilian_portuguese.txt b/src/lang/brazilian_portuguese.txt index ffbc671700..7d57a1b743 100644 --- a/src/lang/brazilian_portuguese.txt +++ b/src/lang/brazilian_portuguese.txt @@ -195,6 +195,7 @@ STR_COLOUR_DEFAULT :Padrão 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_VELOCITY_GAMEUNITS :{DECIMAL}{NBSP}quadrados/dia STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp STR_UNITS_POWER_METRIC :{COMMA}{NBSP}cv @@ -939,15 +940,15 @@ STR_GAME_OPTIONS_CURRENCY_LTL :Litas Lituano ( STR_GAME_OPTIONS_CURRENCY_KRW :Won Sul-Coreano (KRW) STR_GAME_OPTIONS_CURRENCY_ZAR :Rand Sul-Africano (ZAR) STR_GAME_OPTIONS_CURRENCY_CUSTOM :Personalizado... -STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Georgia -STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano +STR_GAME_OPTIONS_CURRENCY_GEL :Lari da Georgia (GEL) +STR_GAME_OPTIONS_CURRENCY_IRR :Rial Iraniano (IRR) STR_GAME_OPTIONS_CURRENCY_RUB :Novo Rublo Russo (RUB) STR_GAME_OPTIONS_CURRENCY_MXN :Peso Mexicano (MXN) STR_GAME_OPTIONS_CURRENCY_NTD :Novo dólar de Taiwan (NTD) STR_GAME_OPTIONS_CURRENCY_CNY :Renminbi chinês (CNY) STR_GAME_OPTIONS_CURRENCY_HKD :Dólar de Hong Kong (HKD) STR_GAME_OPTIONS_CURRENCY_INR :Rúpia Indiana (INR) -STR_GAME_OPTIONS_CURRENCY_IDR :Rupia Indonésia +STR_GAME_OPTIONS_CURRENCY_IDR :Rupia Indonésia (IDR) STR_GAME_OPTIONS_CURRENCY_MYR :Ringgit Malaio (MYR) ############ end of currency region @@ -1001,6 +1002,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marcar e STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolução da tela STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecionar a resolução da tela para usar STR_GAME_OPTIONS_RESOLUTION_OTHER :outra +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Aceleração de hardware +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Marque esta caixa para permitir que o OpenTTD tente usar a aceleração de hardware. Qualquer mudança nesta configuração só será aplicada após reiniciar o jogo. +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}A configuração só terá efeito após reiniciar o jogo 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 @@ -1018,6 +1024,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Tamanho duplo STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Tamanho quádruplo +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gráficos + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Taxa de atualização da tela +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Selecione a taxa de atualização da tela a ser usada +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :outra +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Taxas de atualização superiores a 60Hz podem afetar o desempenho. + 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} arquivo{P "" s} faltando/corrompido{P "" s} @@ -1455,6 +1469,10 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT :Agrupar despesa STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Define o layout para os gastos da companhia STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automaticamente remove sinais durante a construção de ferrovias: {STRING} STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automaticamente remove sinais durante a construção de ferrovias se os sinais estiverem no caminho. Note que isso pode levar a acidentes ferroviários. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Limite de velocidade de avanço rápido: {STRING} +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Limita o quão rápido o jogo vai quando o avanço rápido está ativado. 0 = sem limite (o máximo que o seu computador suporta). Valores abaixo de 100% tornam o jogo mais lento. O limite máximo depende das especificações do seu computador e pode variar dependendo do jogo. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% a velocidade normal do jogo +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Sem limite (o máximo que o seu computador suporta) STR_CONFIG_SETTING_SOUND_TICKER :Notícias: {STRING} STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Toca um som para mensagens resumidas @@ -1569,6 +1587,7 @@ STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Ano em que o jo STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca STR_CONFIG_SETTING_ECONOMY_TYPE :Tipo de economia: {STRING} +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Economia suave faz mudanças de produção com mais frequência, e em etapas menores. Economia congelada impede mudanças de produção e fechamentos de indústrias. Esta configuração pode não ter efeito se os tipos de indústria forem fornecidos por um NewGRF. STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Congelada @@ -1644,12 +1663,17 @@ STR_CONFIG_SETTING_ZOOM_MIN :Nível máximo STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Zoom adentro máximo para janelas de visualização. Note que ativar zoom maiores aumenta o uso de memória STR_CONFIG_SETTING_ZOOM_MAX :Nível máximo de zoom afora: {STRING} STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Zoom afora máximo para janelas de visualização. Note que ativar zoom maiores causa lag durante o jogo +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Resolução máxima de sprites a serem usados: {STRING} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limita a resolução máxima a ser usada para sprites. Limitar a resolução de sprites evitará o uso de gráficos de alta resolução, mesmo quando estiverem disponíveis. Isso pode ajudar a manter a aparência do jogo uniforme quando estiver usando uma mistura de arquivos GRF com e sem gráficos de alta resolução. STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x 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_SPRITE_ZOOM_LVL_MIN :4x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x STR_CONFIG_SETTING_TOWN_GROWTH :Velocidade de crescimento de cidade: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Velocidade com a qual as cidades expandem STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Nenhum @@ -1783,6 +1807,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Sem memória STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}A alocação {BYTES} de spritecache falhou. O spritecache foi reduzido a {BYTES}. A performance do jogo será reduzida. Para reduzir a necessidade de memória tente disabilitar 32bpp gráficos e/ou reduzir o zoom. +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Erro nas configurações de vídeo... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nenhuma GPU compatível encontrada. Aceleração de hardware desativada + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2274,7 +2302,7 @@ STR_CONTENT_DETAIL_NAME :{SILVER}Nome: { STR_CONTENT_DETAIL_VERSION :{SILVER}Versão: {WHITE}{STRING} STR_CONTENT_DETAIL_DESCRIPTION :{SILVER}Descrição: {WHITE}{STRING} STR_CONTENT_DETAIL_URL :{SILVER}URL: {WHITE}{STRING} -STR_CONTENT_DETAIL_TYPE :{SILVER}Tipp: {WHITE}{STRING} +STR_CONTENT_DETAIL_TYPE :{SILVER}Tipo: {WHITE}{STRING} STR_CONTENT_DETAIL_FILESIZE :{SILVER}Tamanho: {WHITE}{BYTES} STR_CONTENT_DETAIL_SELECTED_BECAUSE_OF :{SILVER}Selecionado pois: {WHITE}{STRING} STR_CONTENT_DETAIL_DEPENDENCIES :{SILVER}Dependentes: {WHITE}{STRING} @@ -2313,6 +2341,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sim, baixar os gráficos STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Não, sair do OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opções de Transparência STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Alternar transparência para sinais de estação. Ctrl+Clique para travar @@ -2849,6 +2878,8 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: STR_SAVELOAD_FILTER_TITLE :{BLACK}Filtro: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Substituir ficheiro STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Tem certeza de que deseja substituir o arquivo existente? +STR_SAVELOAD_DIRECTORY :{STRING} (Diretório) +STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Diretório raiz) STR_SAVELOAD_OSKTITLE :{BLACK}Coloque o nome para o jogo salvo @@ -3170,26 +3201,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financiar novos STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar exclusividade da rede de transportes STR_LOCAL_AUTHORITY_ACTION_BRIBE :Subornar a prefeitura -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar uma pequena campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Preço: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Iniciar uma campanha publicitária média, para atrair mais passageiros e carga para seus serviços de transporte.{}Preço: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Iniciar uma grande campanha publicitária, para atrair mais passageiros e cargas para seus serviços de transporte.{}Preço: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW} Financiar a reconstrução da malha rodoviária urbana. Causa engarrafamentos consideráveis ao tráfego por até 6 meses.{}Preço: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW} Construir uma estátua em honra para sua empresa.{} Preço: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW} Financiar a construção de edifícios comerciais novos na cidade.{}Preço: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW} Comprar a exclusividade dos serviços durante 1 ano na cidade. A prefeitura da cidade permitirá que os passageiros e cargas usem somente estações de sua empresa.{} Preço: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar uma pequena campanha publicitária local, para atrair mais passageiros e cargas para seus serviços de transporte.{}Fornece um aumento temporário na avaliação da estação em um pequeno raio ao redor do centro da cidade.{}Preço: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Iniciar uma campanha publicitária média, para atrair mais passageiros e cargas para seus serviços de transporte.{}Fornece um aumento temporário na avaliação da estação em um raio médio ao redor do centro da cidade.{}Preço: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Iniciar uma grande campanha publicitária, para atrair mais passageiros e cargas para seus serviços de transporte.{}Fornece um aumento temporário na avaliação da estação em um grande raio ao redor do centro da cidade.{}Preço: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financiar a reconstrução da malha rodoviária urbana.{}Causa engarrafamentos consideráveis ao tráfego por até 6 meses.{}Preço: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construir uma estátua em homenagem à sua empresa.{}Fornece um aumento permanente na avaliação da estação nesta cidade.{}Preço: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Financiar a construção de edifícios comerciais novos na cidade.{}Fornece um aumento temporário do crescimento da cidade nesta cidade.{}Preço: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Comprar a exclusividade dos serviços durante 1 ano na cidade.{}A prefeitura da cidade não permitirá que passageiros e cargas usem as estações de seus concorrentes.{}Preço: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Subornar a prefeitura para aumentar a sua avaliação, correndo o risco de uma penalidade severa se apanhado.{}Preço: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Objetivos STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objetivos globais STR_GOALS_SPECTATOR :Objetivos Globais -STR_GOALS_GLOBAL_TITLE :{G=m}{BLACK}Objetivos globais: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Globais +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Mostra objetivos globais +STR_GOALS_COMPANY_BUTTON :{BLACK}Empresa +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Mostra objetivos da empresa STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{G=m}{ORANGE}- Nenhum - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Não aplicável - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{G=m}{BLACK}Objetivos da empresa: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique num objetivo para centralizar a visualização principal numa indústria/cidade.Ctrl+Clique abre uma nova janela na localização da indústria/cidade # Goal question window @@ -3560,6 +3592,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagões STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Adaptável para: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Todos as cargas STR_PURCHASE_INFO_NONE :Nenhum +STR_PURCHASE_INFO_ENGINES_ONLY :Apenas motores STR_PURCHASE_INFO_ALL_BUT :Todas menos {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Tração máx : {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} quadrados @@ -5045,13 +5078,13 @@ 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 :Táxi Aéreo A21 -STR_VEHICLE_NAME_AIRCRAFT_AIRTAXI_A31 :Táxi Aéreo A31 -STR_VEHICLE_NAME_AIRCRAFT_AIRTAXI_A32 :Táxi Aéreo A32 -STR_VEHICLE_NAME_AIRCRAFT_AIRTAXI_A33 :Táxi Aéreo A33 +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 :Táxi Aéreo A34-1000 +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 diff --git a/src/lang/bulgarian.txt b/src/lang/bulgarian.txt index 87e2b3efdf..03c26e2023 100644 --- a/src/lang/bulgarian.txt +++ b/src/lang/bulgarian.txt @@ -969,6 +969,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Разм STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Избор размера на екран STR_GAME_OPTIONS_RESOLUTION_OTHER :друго + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Интерфейс размер STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Изберете размера на интерфейс елемент за използване @@ -978,6 +979,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Четирик + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Базов графичен набор STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Изберете базов графичен набор STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} липсващи/повредени файлове @@ -1672,6 +1675,8 @@ STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... пр STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... пропруска набора от основни песни '{STRING}': не е открит STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Отвъд паметта +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2187,6 +2192,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Да, изтегли графиките STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Не, изход от OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Настройки на прозрачност STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Превключва прозрачност за знаци. Ctrl за заключване @@ -2971,12 +2977,9 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW} Под # 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 отваря нов прозорец центриран на фабрика/град/плочка # Goal question window diff --git a/src/lang/catalan.txt b/src/lang/catalan.txt index 071b6a2102..bfbc448e7e 100644 --- a/src/lang/catalan.txt +++ b/src/lang/catalan.txt @@ -1002,6 +1002,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Marqueu 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_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Acceleració per maquinari +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Seleccioneu aquesta opció per permetre que l'OpenTTD provi d'usar acceleració per maquinari. Si es canvia l'opció, s'aplicarà quan es reiniciï el programa. +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}La configuració tindrà efecte quan es reiniciï el programa. 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 @@ -1019,6 +1024,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Doble STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quàdruple +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gràfics + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Rati de refresc de la pantalla +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Seleccioneu el rati de refresc de la pantalla que voleu usar. +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :altres +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}{NBSP}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Ratis de refresc major a 60{NBSP}Hz poden causar problemes de rendiment. + 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} absent{P "" s} o corromput{P "" s}. @@ -1650,12 +1663,17 @@ STR_CONFIG_SETTING_ZOOM_MIN :Zoom màxim d'a 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_SPRITE_ZOOM_MIN :Resolució de sprites màxima que es pot usar: {STRING} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limita la resolució màxima dels sprites que s'empraran. Aquest límit pot evitar que s'usin els sprites amb resolució elevada quan estiguin disponibles. Això pot ajudar a millorar l'aparença general quan s'empren diferents fitxers GRF amb gràfics de diferents resolucions màximes. STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x 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_SPRITE_ZOOM_LVL_MIN :x4 +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :x2 +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :x1 STR_CONFIG_SETTING_TOWN_GROWTH :Velocitat de creixement de les poblacions: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Velocitat de creixement de les poblacions STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Cap @@ -1789,6 +1807,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}...s'ign STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memòria exhaurida STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}L'assignació de {BYTES} de memòria cau de sprites ha fallat. S'ha reduït aquest tipus de memòria a {BYTES}. Això reduirà el rendiment de l'OpenTTD. Per reduir els requeriments de memòria, proveu de desactivar els gràfics de 32bpp i/o els nivells extra de zoom. +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}S'ha produït un error en la configuració de vídeo... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... no s'ha trobat cap GPU compatible. Es desactiva l'acceleració per programari. + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2319,6 +2341,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}L'OpenTT STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sí, descarregar els gràfics STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, surt de l'OpenTTD. + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opcions de transparència STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Commuta la transparència dels senyals. Ctrl+Clic per bloquejar @@ -3178,26 +3201,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Finança nous e STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Compra els drets de transport en exclusiva STR_LOCAL_AUTHORITY_ACTION_BRIBE :Suborna les autoritats locals -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Inicia una petita campanya de publicitat, per atraure més passatgers i càrregues als teus serveis de transport.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Inicia una mitjana campanya de publicitat, per atraure més passatgers i càrregues als teus serveis de transport.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Inicia una gran campanya de publicitat, per atraure més passatgers i càrregues als teus serveis de transport.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Finança la reconstrucció de la xarxa local de carrers. Dificulta notablement el trànsit durant 6 mesos.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construeix una estàtua en honor a la teva companyia.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Finança la construcció de nous edificis comercials a la població.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Compra per 1 any els drets exclusius de transport en la població. L'autoritat local només permetrà utilitzar les instal·lacions de la teva companyia de transports als passatgers i les mercaderies.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Inicia una petita campanya de publicitat, per atraure més passatgers i càrregues als teus serveis de transport.{}Proporciona una millora temporal dels ratis de les estacions dins d'un radi petit al voltant del centre de la població.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Inicia una mitjana campanya de publicitat, per atraure més passatgers i càrregues als teus serveis de transport.{}Proporciona una millora temporal dels ratis de les estacions dins un radi mitjà al voltant del centre de la població.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Inicia una gran campanya de publicitat, per atraure més passatgers i càrregues als teus serveis de transport.{}Proporciona una millora temporal dels ratis de les estacions dins d'un radi gran al voltant del centre de la població.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Finança la reconstrucció de la xarxa local de carrers. Dificulta notablement el trànsit durant 6 mesos.{}Causa molèsties considerables al trànsit de vehicles de carretera durant 6 mesos.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construeix una estàtua en honor a la teva companyia.{}Proporciona una millora permanent dels ratis d'estació de la població.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Finança la construcció de nous edificis comercials a la població.{}Proporciona una millora temporal del creixement d'aquesta població.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Compra per 1 any els drets exclusius de transport en la població. L'autoritat local només permetrà utilitzar les instal·lacions de la teva companyia de transports als passatgers i les mercaderies.{}L'autoritat local no permetrà que els passatgers i càrregues locals usin les estacions dels oponents.{}Cost: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Suborna les autoritats locals per incrementar el teu rati, a risc de greus penalitzacions si et pesquen.{}Cost: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Objectius STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objectius globals STR_GOALS_SPECTATOR :Objectius globals -STR_GOALS_GLOBAL_TITLE :{BLACK}Objectius globals: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Global +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Mostra els objectius globals +STR_GOALS_COMPANY_BUTTON :{BLACK}Companyia +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Mostra els objectius de la companyia STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Cap - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- No aplicable - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Objectius de la companyia: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clica sobre l'objectiu per centrar la vista principal sobre la indústria/població/cel·la. Ctrl+clic per obrir una nova vista sobre la indústria/població/cel·la # Goal question window @@ -3568,6 +3592,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagons A STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Remodelable a: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Totes les càrregues STR_PURCHASE_INFO_NONE :Cap +STR_PURCHASE_INFO_ENGINES_ONLY :Només locomotores STR_PURCHASE_INFO_ALL_BUT :Qualsevol excepte {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Esforç de tracció màxim: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Abast: {GOLD}{COMMA} cel·les diff --git a/src/lang/croatian.txt b/src/lang/croatian.txt index ef034fe6bf..adef313dbd 100644 --- a/src/lang/croatian.txt +++ b/src/lang/croatian.txt @@ -1086,6 +1086,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Razluči STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Odaberi razlučivost zaslona STR_GAME_OPTIONS_RESOLUTION_OTHER :ostalo + 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 @@ -1100,6 +1101,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normalno STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvostruka veličina STR_GAME_OPTIONS_FONT_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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} datotek{P a e a} nedostaj{P e u e}/korumpiran{P a e o} @@ -1854,6 +1857,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... zaob STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Nedostaje memorije STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Dodjeljivanje {BYTES} predmemorije spriteova nije uspjelo. Predmemorija spriteova je smanjena na {BYTES}. Ovo će smanjiti performanse OpenTTD-a. Za smanjivanje potreba memorije you možete pokušati isključiti 32bpp grafiku i/ili razine zumiranja. +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2375,6 +2380,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Da, preuzmi grafike STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ne, izađi iz OpenTTD-a + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Postavke prozirnosti STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Namjesti prozirnost za znakove. Ctrl+klik za zaključavanje @@ -3230,13 +3236,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Podmiti STR_GOALS_CAPTION :{WHITE}{COMPANY} Ciljevi STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globalni ciljevi STR_GOALS_SPECTATOR :Globalni ciljevi -STR_GOALS_GLOBAL_TITLE :{BLACK}Globalni ciljevi: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nijedan - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nije primjenjivo - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -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 diff --git a/src/lang/czech.txt b/src/lang/czech.txt index 02f3bb1605..7bbb18e4ee 100644 --- a/src/lang/czech.txt +++ b/src/lang/czech.txt @@ -1096,6 +1096,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Velikost rozhraní STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Zvolit velikost prvků uživatelského rozhraní @@ -1112,6 +1113,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Běžné STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná velikost STR_GAME_OPTIONS_FONT_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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} chybějící{P "" "" ch}/poškozen{P ý é ých} soubor{P "" y ů} @@ -2124,6 +2127,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Nedostatek paměti STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Alokování {BYTES} grafické mezipaměti selhalo. Grafická mezipaměť byla zredukována na {BYTES}. To sníží výkon OpenTTD. Pro snížení paměťových nároků můžeš zkusit vypnout 32bpp grafiku a/nebo úrovně přiblížení +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2661,6 +2666,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ano, stáhnout grafiky STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ne, ukončit OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Nastavení průhlednosti STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Změna průhlednosti popisků. Nastavení se zamkne Ctrl+kliknutím @@ -3805,14 +3811,12 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Podplat STR_GOALS_CAPTION :{WHITE}{COMPANY} Cíle STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globální cíle STR_GOALS_SPECTATOR :Globální cíle -STR_GOALS_GLOBAL_TITLE :{BLACK}Globální cíle: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Žádné - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nelze - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} STR_GOALS_COMPANY_TITLE :{BLACK}Cíle společnosti: -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikni na cíl pro zaměření pohledu na průmysl/město/pole. Ctrl+kliknutí otevře nové okno s pohledem na průmyslu/městu/poli. +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikni na cíl pro zaměření pohledu na průmysl/město/pole. Ctrl+Klik otevře nové okno s pohledem na průmyslu/městu/poli. # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Dotaz diff --git a/src/lang/danish.txt b/src/lang/danish.txt index 34e9b8d137..52e201f798 100644 --- a/src/lang/danish.txt +++ b/src/lang/danish.txt @@ -991,6 +991,7 @@ 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_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 @@ -1005,6 +1006,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dobbelt størrelse STR_GAME_OPTIONS_FONT_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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} forsvund{P en ne}/ødelagt{P "" e} fil{P "" er} @@ -1759,6 +1762,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Utilstrækkelig hukommelse STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Allokering af {BYTES} spritecache fejlede. Spritecachen blev indskrænket til {BYTES}. Dette vil sænke OpenTTDs ydelse. Du kan forsøge at slå 32bpp grafik og/eller zoom-ind niveauer for at reducere hukommelseskravet +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2280,6 +2285,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}Grafikfi STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, download grafikfilerne STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nej, afslut OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Gennemsigtighedsvalg STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Skift gennemsigtighed for skilte. CTRL+Klik for at låse værdi. @@ -3135,13 +3141,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Bestik STR_GOALS_CAPTION :{WHITE}{COMPANY} Mål STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globale Mål STR_GOALS_SPECTATOR :Globale Mål -STR_GOALS_GLOBAL_TITLE :{BLACK}Globale mål: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Ingen - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Ikke anvendelig - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Selskabsmål: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klik på mål for at centrere hovedvinduet over industri/by/felt Ctrl+klik åbner et nyt vindue over industri/by/felt lokation # Goal question window diff --git a/src/lang/dutch.txt b/src/lang/dutch.txt index 0b9934a741..3ed31ad8aa 100644 --- a/src/lang/dutch.txt +++ b/src/lang/dutch.txt @@ -1001,6 +1001,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Vink dit STR_GAME_OPTIONS_RESOLUTION :{BLACK}Schermresolutie STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Selecteer de schermresolutie STR_GAME_OPTIONS_RESOLUTION_OTHER :Anders +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Hardwareversnelling +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Selecteer dit vakje om OpenTTD hardwareversnelling te laten gebruiken. De gewijzigde instelling wordt pas van kracht nadat het spel opnieuw is gestart. +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}De instelling wordt pas van kracht als het spel opnieuw is gestart STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Menupuntgrootte STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Kiest de grootte van bedieningselementen @@ -1018,6 +1023,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normaal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbele grootte STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Viervoudige grootte +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafische elementen + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Verversingssnelheid weergeven +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Selecteer de gewenste schermverversingssnelheid +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :overige +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Verversingssnelheden boven 60 Hz kunnen de prestaties beïnvloeden. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisset voor graphics STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Kiest de te gebruiken basisset voor grafische elementen STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ontbrekend{P "" e}/beschadigd{P "" e} bestand{P "" en} @@ -1649,12 +1662,17 @@ STR_CONFIG_SETTING_ZOOM_MIN :Maximaal inzoom STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Het maximale inzoomniveau voor kijkvensters. Merk op dat hogere inzoomniveaus hogere eisen stellen aan het geheugen. STR_CONFIG_SETTING_ZOOM_MAX :Maximaal uitzoomniveau: {STRING} STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :De maximale zoom-uit niveau voor kijkvensters. Hogere zoom-uit niveaus kunnen leiden tot vertraging bij gebruik +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Hoogste resolutie die sprites mogen gebruiken: {STRING} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Beperk de maximale resolutie die voor sprites wordt gebruikt. Door deze beperking worden geen grafische elementen in hoge resolutie gebruikt, ook niet als ze beschikbaar zijn. Zo kan de weergave van het spel consistent blijven wanneer je verschillende GRF-bestanden gebruikt met en zonder grafische elementen in hoge resolutie. STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normaal 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_SPRITE_ZOOM_LVL_MIN :4x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x STR_CONFIG_SETTING_TOWN_GROWTH :Groeisnelheid steden: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Groeisnelheid van steden. STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Niet @@ -1788,6 +1806,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... nege STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Geen geheugen meer STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Toewijzen van {BYTES} van spritecache mislukt. De spritecache werd teruggebracht tot {BYTES}. Dit verlaagt de prestaties van OpenTTD. Om het benodigde geheugen te verminderen, kun je proberen om 32bpp-beeldelementen en/of inzoomniveaus uit te schakelen +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Fout met video-instellingen... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... geen compatibele GPU gevonden. Hardwareversnelling is uitgeschakeld + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2318,6 +2340,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, grafische elementen downloaden STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nee, OpenTTD afsluiten + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Doorzichtigheidsopties STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Transparantie voor stationsnamen aan-uit. Ctrl+klik om vast te zetten. @@ -3177,26 +3200,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Nieuwe gebouwen STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Exclusieve transportrechten kopen STR_LOCAL_AUTHORITY_ACTION_BRIBE :Gemeentebestuur omkopen -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin een kleine reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin een middelgrote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin een grote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financier een reconstructie van het wegennetwerk. Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Een standbeeld bouwen ter ere van jouw bedrijf.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}De bouw van nieuwe commerciële gebouwen in de stad financieren.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1 jaar exclusieve transportrechten kopen in deze plaats. Het gemeentebestuur staat alleen passagiers en vracht toe bij jouw stations.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Begin een kleine reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Zorgt voor een tijdelijk hogere stationswaardering in een klein gebied rondom het centrum.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Begin een middelgrote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Zorgt voor een tijdelijk hogere stationswaardering in een middelgroot gebied rondom het centrum.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Begin een grote reclamecampagne om meer passagiers en vracht naar jouw transportdiensten te trekken.{}Zorgt voor een tijdelijk hogere stationswaardering in een groot gebied rondom het centrum.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financier een reconstructie van het wegennetwerk.{}Veroorzaakt tot 6 maanden lang een aanzienlijke verstoring van het wegverkeer.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Een standbeeld bouwen ter ere van jouw bedrijf.{}Zorgt voor een blijvend hogere stationswaardering in deze stad.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}De bouw van nieuwe gebouwen in de stad financieren.{}Zorgt voor een tijdelijk hogere groei van deze stad.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1 jaar exclusieve transportrechten kopen in deze plaats.{}Het gemeentebestuur staat alleen passagiers en vracht toe bij jouw stations.{}Kosten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Koop het plaatselijk gezag om om je reputatie te verhogen met het risico op een strenge sanctie wanneer je gepakt wordt.{}Kosten: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Doelen STR_GOALS_SPECTATOR_CAPTION :{WHITE}Algemene doelen STR_GOALS_SPECTATOR :Algemene doelen -STR_GOALS_GLOBAL_TITLE :{BLACK}Algemene doelen: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Algemeen +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Algemene doelen weergeven +STR_GOALS_COMPANY_BUTTON :{BLACK}Bedrijf +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Bedrijfsdoelen weergeven STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Geen - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Niet van toepassing - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Bedrijfsdoelen: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klik op doel centreert venster op industrie/stad/tegel. Ctrl+Klik opent een nieuw venster op de locatie van de industrie/stad/tegel. # Goal question window @@ -3567,6 +3591,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Aangedre STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Om te bouwen naar: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Alle vrachttypen STR_PURCHASE_INFO_NONE :Geen +STR_PURCHASE_INFO_ENGINES_ONLY :Alleen voertuigen STR_PURCHASE_INFO_ALL_BUT :Alles behalve {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. trekkracht: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Bereik: {GOLD}{COMMA} tegels diff --git a/src/lang/english.txt b/src/lang/english.txt index f4d3d6628a..3c1788b0d8 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -1013,6 +1013,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Check th STR_GAME_OPTIONS_RESOLUTION :{BLACK}Screen resolution STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Select the screen resolution to use STR_GAME_OPTIONS_RESOLUTION_OTHER :other +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Hardware acceleration +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Check this box to allow OpenTTD to try to use hardware acceleration. A changed setting will only be applied upon game restart +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}The setting will only take effect after a game restart STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interface size STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface element size to use @@ -1030,6 +1035,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Double size STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad size +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graphics + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Display refresh rate +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Select the screen refresh rate to use +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :other +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Refresh rates higher than 60Hz might impact performance. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base graphics set STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Select the base graphics set to use STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} missing/corrupted file{P "" s} @@ -1892,6 +1905,8 @@ STR_CONFIG_SETTING_ZOOM_MIN :Maximum zoom in STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :The maximum zoom-in level for viewports. Note that enabling higher zoom-in levels increases memory requirements STR_CONFIG_SETTING_ZOOM_MAX :Maximum zoom out level: {STRING2} STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :The maximum zoom-out level for viewports. Higher zoom-out levels might cause lag when used +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Highest resolution sprites to use: {STRING2} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limit the maximum resolution to use for sprites. Limiting sprite resolution will avoid using high resolution graphics even when available. This can help keep the game appearance unified when using a mix of GRF files with and without high resolution graphics. STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normal @@ -1902,6 +1917,9 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_16X :16x STR_CONFIG_SETTING_ZOOM_LVL_OUT_32X :32x STR_CONFIG_SETTING_ZOOM_LVL_OUT_64X :64x STR_CONFIG_SETTING_ZOOM_LVL_OUT_128X :128x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x STR_CONFIG_SETTING_TOWN_ZONES :{ORANGE}Custom town zones STR_CONFIG_SETTING_TOWN_ZONE_CALC_MODE :Use custom town zone calculations: {STRING2} STR_CONFIG_SETTING_TOWN_ZONE_CALC_MODE_HELPTEXT :Allows manually configuring the size of town zones generated by towns. The default values for custom town zone settings are similar to the default town generation. Some zones only require small changes while Zone 0 in particular benefits from larger values. @@ -2146,6 +2164,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Out of memory STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Allocating {BYTES} of spritecache failed. The spritecache was reduced to {BYTES}. This will reduce the performance of OpenTTD. To reduce memory requirements you can try to disable 32bpp graphics and/or zoom-in levels +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Error with video settings... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... no compatible GPU found. Hardware acceleration disabled + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2684,6 +2706,10 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Yes, download the graphics STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, exit OpenTTD +STR_MISSING_GRAPHICS_ERROR_TITLE :{WHITE}Downloading failed +STR_MISSING_GRAPHICS_ERROR :{BLACK}Downloading graphics failed.{}Please download graphics manually. +STR_MISSING_GRAPHICS_ERROR_QUIT :{BLACK}Exit OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Transparency Options STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Toggle transparency for signs. Ctrl+Click to lock @@ -3939,26 +3965,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Fund new buildi STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Buy exclusive transport rights STR_LOCAL_AUTHORITY_ACTION_BRIBE :Bribe the local authority -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Initiate a small local advertising campaign, to attract more passengers and cargo to your transport services.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Initiate a medium local advertising campaign, to attract more passengers and cargo to your transport services.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Initiate a large local advertising campaign, to attract more passengers and cargo to your transport services.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Fund the reconstruction of the urban road network. Causes considerable disruption to road traffic for up to 6 months.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Build a statue in honour of your company.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Fund the construction of new commercial buildings in the town.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Buy 1 year's exclusive transport rights in town. Town authority will only allow passengers and cargo to use your company's stations.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Initiate a small local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a small radius around the town centre.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Initiate a medium local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a medium radius around the town centre.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Initiate a large local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a large radius around the town centre.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Fund the reconstruction of the urban road network.{}Causes considerable disruption to road traffic for up to 6 months.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Build a statue in honour of your company.{}Provides a permanent boost to station rating in this town.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Fund the construction of new buildings in the town.{}Provides a temporary boost to town growth in this town.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Buy 1 year's exclusive transport rights in town.{}Town authority will not allow passengers and cargo to use your competitors' stations.{}Cost: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Bribe the local authority to increase your rating, at the risk of a severe penalty if caught.{}Cost: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Goals STR_GOALS_SPECTATOR_CAPTION :{WHITE}Global Goals STR_GOALS_SPECTATOR :Global Goals -STR_GOALS_GLOBAL_TITLE :{BLACK}Global goals: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Global +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Show global goals +STR_GOALS_COMPANY_BUTTON :{BLACK}Company +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Show company goals STR_GOALS_TEXT :{ORANGE}{RAW_STRING} STR_GOALS_NONE :{ORANGE}- None - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Not applicable - STR_GOALS_PROGRESS :{ORANGE}{RAW_STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{RAW_STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Company goals: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Click on goal to centre main view on industry/town/tile. Ctrl+Click opens a new viewport on industry/town/tile location # Goal question window @@ -4474,6 +4501,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Powered STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Refittable to: {GOLD}{STRING2} STR_PURCHASE_INFO_ALL_TYPES :All cargo types STR_PURCHASE_INFO_NONE :None +STR_PURCHASE_INFO_ENGINES_ONLY :Engines only STR_PURCHASE_INFO_ALL_BUT :All but {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Tractive Effort: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Range: {GOLD}{COMMA} tiles diff --git a/src/lang/english_AU.txt b/src/lang/english_AU.txt index 9c1b5c8940..72d6d16134 100644 --- a/src/lang/english_AU.txt +++ b/src/lang/english_AU.txt @@ -964,6 +964,9 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :other + + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base graphics set STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Select the base graphics set to use STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} missing/corrupted file{P "" s} @@ -1698,6 +1701,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Out of memory STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Allocating {BYTES} of spritecache failed. The spritecache was reduced to {BYTES}. This will reduce the performance of OpenTTD. To reduce memory requirements you can try to disable 32bpp graphics and/or zoom-in levels +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2210,6 +2215,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Yes, download the graphics STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, exit OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Transparency Options STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Toggle transparency for signs. Ctrl+Click to lock @@ -2979,13 +2985,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Bribe t # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Goals STR_GOALS_SPECTATOR_CAPTION :{WHITE}Global Goals -STR_GOALS_GLOBAL_TITLE :{BLACK}Global goals: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- None - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Not applicable - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Company goals: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Click on goal to centre main view on industry/town/tile. Ctrl+Click opens a new viewport on industry/town/tile location # Goal question window diff --git a/src/lang/english_US.txt b/src/lang/english_US.txt index dcdc6d596e..58dcf34ece 100644 --- a/src/lang/english_US.txt +++ b/src/lang/english_US.txt @@ -948,6 +948,7 @@ STR_GAME_OPTIONS_CURRENCY_CNY :Chinese Renminb STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Dollar (HKD) STR_GAME_OPTIONS_CURRENCY_INR :Indian Rupee (INR) STR_GAME_OPTIONS_CURRENCY_IDR :Indonesian Rupiah (IDR) +STR_GAME_OPTIONS_CURRENCY_MYR :Malaysian Ringgit (MYR) ############ end of currency region STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Drive on left @@ -1000,6 +1001,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Check th STR_GAME_OPTIONS_RESOLUTION :{BLACK}Screen resolution STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Select the screen resolution to use STR_GAME_OPTIONS_RESOLUTION_OTHER :other +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Hardware acceleration +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Check this box to allow OpenTTD to try to use hardware acceleration. A changed setting will only be applied upon game restart +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}The setting will only take effect after a game restart STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Interface size STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Select the interface element size to use @@ -1017,6 +1023,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Double size STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Quad size +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graphics + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Display refresh rate +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Select the screen refresh rate to use +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :other +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Refresh rates higher than 60Hz might impact performance. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Base graphics set STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Select the base graphics set to use STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} missing/corrupted file{P "" s} @@ -1801,6 +1815,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Out of memory STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Allocating {BYTES} of spritecache failed. The spritecache was reduced to {BYTES}. This will reduce the performance of OpenTTD. To reduce memory requirements you can try to disable 32bpp graphics and/or zoom-in levels +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Error with video settings... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... no compatible GPU found. Hardware acceleration disabled + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2331,6 +2349,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Yes, download the graphics STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, quit OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Transparency Options STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Toggle transparency for signs. Ctrl+Click to lock @@ -3190,26 +3209,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Fund new buildi STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Buy exclusive transport rights STR_LOCAL_AUTHORITY_ACTION_BRIBE :Bribe the local authority -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Initiate a small local advertising campaign, to attract more passengers and cargo to your transport services.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Initiate a medium local advertising campaign, to attract more passengers and cargo to your transport services.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Initiate a large local advertising campaign, to attract more passengers and cargo to your transport services.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Fund the reconstruction of the urban road network. Causes considerable disruption to road traffic for up to 6 months.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Build a statue in honor of your company.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Fund the construction of new commercial buildings in the town.{}Cost: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Buy 1 year's exclusive transport rights in town. Town authority will only allow passengers and cargo to use your company's stations.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Initiate a small local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a small radius around the town center.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Initiate a medium local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a medium radius around the town center.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Initiate a large local advertising campaign, to attract more passengers and cargo to your transport services.{}Provides a temporary boost to station rating in a large radius around the town center.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Fund the reconstruction of the urban road network.{}Causes considerable disruption to road traffic for up to 6 months.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Build a statue in honor of your company.{}Provides a permanent boost to station rating in this town.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Fund the construction of new buildings in the town.{}Provides a temporary boost to town growth in this town.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Buy 1 year's exclusive transport rights in town.{}Town authority will not allow passengers and cargo to use your competitors' stations.{}Cost: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Bribe the local authority to increase your rating, at the risk of a severe penalty if caught.{}Cost: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Goals STR_GOALS_SPECTATOR_CAPTION :{WHITE}Global Goals STR_GOALS_SPECTATOR :Global Goals -STR_GOALS_GLOBAL_TITLE :{BLACK}Global goals: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Global +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Show global goals +STR_GOALS_COMPANY_BUTTON :{BLACK}Company +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Show company goals STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- None - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Not applicable - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Company goals: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Click on goal to center main view on industry/town/tile. Ctrl+Click opens a new viewport on industry/town/tile location # Goal question window @@ -3580,6 +3600,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Powered STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Refittable to: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :All cargo types STR_PURCHASE_INFO_NONE :None +STR_PURCHASE_INFO_ENGINES_ONLY :Engines only STR_PURCHASE_INFO_ALL_BUT :All but {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Tractive Effort: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Range: {GOLD}{COMMA} tiles diff --git a/src/lang/esperanto.txt b/src/lang/esperanto.txt index c5cd202cc4..615daeaf88 100644 --- a/src/lang/esperanto.txt +++ b/src/lang/esperanto.txt @@ -953,6 +953,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Interfacgrandeco STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normala @@ -961,6 +962,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Kvaroble grande + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Baza grafikaro STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selektu la uzendan bazgrafikaron STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} mankanta{P "" j}/koruptita{P "" j} dosiero{P "" j} @@ -1368,6 +1371,8 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Ŝanĝu # Config errors +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1857,6 +1862,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Jes, elŝuti la grafikojn STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ne, fermi OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Ebloj por travidebleco STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Baskuligi travideblecon de signoj. Ctrl+Klak por ŝlosi diff --git a/src/lang/estonian.txt b/src/lang/estonian.txt index b7ead631e0..1325b9f4d1 100644 --- a/src/lang/estonian.txt +++ b/src/lang/estonian.txt @@ -1058,6 +1058,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Märgi s STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ekraanilahutus STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Ekraanilahutuse valimine STR_GAME_OPTIONS_RESOLUTION_OTHER :muu +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Riistvarakiirendus +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Märgides selle ruudu, lubad OpenTTD-l üritada kasutada riistvarakiirendust. Muudetud seade omab mõju pärast mängu taaskäivitust +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Seade omab mõju alles pärast mängu taaskäivitust STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Liidese suurus STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vali kasutatav liideseelementide suurus @@ -1075,6 +1080,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Tavaline STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Topeltsuurus STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Neljakordne suurus +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Graafika + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Ekraani värskendussagedus +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Vali, mis värskendussagedust kasutada +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :muu +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Värskendussagedused üle 60Hz võivad jõudlusele löögi anda. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Lähtegraafikakogu STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Valib kasutatava lähtegraafikakogu STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} puuduv{P "" ad}/viga{P ne sed} fail{P "" id} @@ -1184,7 +1197,7 @@ STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Sulge k STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT :(seletus puudub) STR_CONFIG_SETTING_DEFAULT_VALUE :{LTBLUE}Vaikeväärtus: {ORANGE}{STRING} STR_CONFIG_SETTING_TYPE :{LTBLUE}Seade rühm: {ORANGE}{STRING} -STR_CONFIG_SETTING_TYPE_CLIENT :Kliendi seade (ei salvestu koos mänguga; mõjutab kõiki mänge) +STR_CONFIG_SETTING_TYPE_CLIENT :Kliendiseade (ei salvestu koos mänguga; mõjutab kõiki mänge) STR_CONFIG_SETTING_TYPE_GAME_MENU :Mängu seade (salvestub koos mänguga; mõjutab ainult uusi mänge) STR_CONFIG_SETTING_TYPE_GAME_INGAME :Mängu seaded (hoitakse salvestuses; mõjutab ainult praegust mängu) STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Ettevõtte seaded (hoitakse salvestuses; mõjutab ainult uusi mänge) @@ -1201,7 +1214,7 @@ STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Uue mängu sead STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Piirab allolevat nimekirja valitud sätte tüübi järgi STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Kõik seadistused -STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Kliendi seade (ei salvestu koos mänguga; mõjutab kõiki mänge) +STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Kliendiseade (ei salvestu koos mänguga; mõjutab kõiki mänge) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Mängu seaded (hoitakse salvestuses; mõjutab ainult uusi mänge) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Mängu seaded (hoitakse salvestuses; mõjutab ainult praegust mängu) STR_CONFIG_SETTING_TYPE_DROPDOWN_COMPANY_MENU :Firma seaded (hoitakse salvestuses; mõjutab ainult uusi mänge) @@ -1706,12 +1719,17 @@ STR_CONFIG_SETTING_ZOOM_MIN :Suurim suurendu STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Vaateakna suurendusastme ülempiirang. Kõrgete suurendusastmete lubamisega kaasneb suurem vahemälu kasutamine STR_CONFIG_SETTING_ZOOM_MAX :Väikseim suurendusaste: {STRING} STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Vaateakna suurendusastme alampiir. Madalate suurendusastmete kasutamine võib põhjustata viivitusi +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Sprite'ide ekraanilahutus kuni: {STRING} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Piirab ekraanilahutust, mida sprite'ide jaoks kasutatakse. Sprite'ide ekraanilahutust piirates ei kasutata kõrge ekraanilahutusega graafikat ka siis, kui see on saadaval. Võib aidata ühtsustada mängu väljanägemist, kui osad GRF failid on kõrge ekraanilahutusega ja teised mitte. STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Tavaline 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_SPRITE_ZOOM_LVL_MIN :4x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x STR_CONFIG_SETTING_TOWN_GROWTH :Asulate kasvutempo: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Asulate kasvutempo STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Pole @@ -1845,6 +1863,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... eira STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Vahemälu on täis STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Pildipuhvri (ingl k «spritecache») suurendamine {BYTES} võrra ebaõnnestus. Pildipuhvri uus suurus on {BYTES}. Seetõttu on OpenTTD nüüd aeglasem. 32 bpp graafika keelamine ja suurendusastme ülempiirangu vähendamine piirab vahemälu tarbimist +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Videoseadete viga... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... ei leitud ühilduvat GPU-d. Riistvarakiirendus väljalülitatud + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2320,7 +2342,7 @@ STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Otsi vä STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Otsi OpenTTD-st sõltumatutest lehtedest aineseid, mida OpenTTD aineste keskserverist ei saa STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}Sa oled lahkumas OpenTTD-st! STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Välistest veebilehtedest aineste allalaadimisel võivad kasutustingimused vahelduda.{}Paigaldusjuhiseid otsida samadest välistest veebilehtedest.{}Kas jätkata? -STR_CONTENT_FILTER_TITLE :{BLACK}Siltide/nimede märksõna: +STR_CONTENT_FILTER_TITLE :{BLACK}Tähiste/nimede märksõna: STR_CONTENT_OPEN_URL :{BLACK}Külasta lehekülge STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Külasta lehekülge selle sisu jaoks. STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Laadi alla @@ -2376,6 +2398,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Jah, laadi graafika alla STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ei, välju OpenTTD-st + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Läbipaistvuse seadistus STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Muuda jaamamärkide läbipaistvust. Ctrl+klõps lukustab @@ -2924,7 +2947,7 @@ STR_MAPGEN_MAPSIZE_TOOLTIP :{BLACK}Määrab STR_MAPGEN_BY :{BLACK}* STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Asustusi: STR_MAPGEN_DATE :{BLACK}Algus: -STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Tööstuste sagedus: +STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Tööstustihedus: STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Kaardi ülemkõ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 @@ -3199,8 +3222,8 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED_WINTER :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING}{GREEN} äraveetud STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (ikka veel vaja) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (äraveetud) -STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Asustus kasvab iga {ORANGE}{COMMA}{NBSP}päev{P "" a} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Asustus kasvab iga {ORANGE}{COMMA}{BLACK}{NBSP}päev{P "" a} (rahastatud) +STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}Asustus kasvab igal {ORANGE}{COMMA}{BLACK}.{NBSP}päeval +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}Asustus kasvab igal {ORANGE}{COMMA}{BLACK}.{NBSP}päeval (rahastatud) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}Asustus {RED}ei{BLACK} kasva STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Mürapiirang asustuses: {ORANGE}{COMMA}{BLACK} suurim: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Keskenda vaade asustusele. Ctrl+klõps avab asustuse kohal uue vaate @@ -3248,13 +3271,14 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW} Kohali STR_GOALS_CAPTION :{WHITE}{COMPANY} eesmärgid STR_GOALS_SPECTATOR_CAPTION :{WHITE}Üldeesmärgid STR_GOALS_SPECTATOR :Üleilmsed eesmärgid -STR_GOALS_GLOBAL_TITLE :{BLACK}Üldised eesmärgid: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Üleilmne +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Näita üleilmseid eesmärke +STR_GOALS_COMPANY_BUTTON :{BLACK}Ettevõte +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Näita ettevõtte eesmärke STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Mitte ühtegi - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Kehtetu - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Ettevõtte eesmärgid: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klõpsa eesmärgil, et liigutada vaateaken tööstuse/asula/ruudu asukohale. Ctrl+klõps avab uue vaateakna tööstuse/asula/ruudu asukohas # Goal question window @@ -3406,7 +3430,7 @@ STR_FINANCES_SECTION_TRAIN_INCOME :{GOLD}Rongide t STR_FINANCES_SECTION_ROAD_VEHICLE_INCOME :{GOLD}Mootorsõidukite tulud STR_FINANCES_SECTION_AIRCRAFT_INCOME :{GOLD}Õhusõidukite tulud STR_FINANCES_SECTION_SHIP_INCOME :{GOLD}Laevade tulud -STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Laenuintress +STR_FINANCES_SECTION_LOAN_INTEREST :{GOLD}Laenuintressid STR_FINANCES_SECTION_OTHER :{GOLD}Muud STR_FINANCES_NEGATIVE_INCOME :{BLACK}-{CURRENCY_LONG} STR_FINANCES_POSITIVE_INCOME :{BLACK}+{CURRENCY_LONG} @@ -3625,6 +3649,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Kiirenda STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Ümberseadistatav: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Kõik kaubatüübid STR_PURCHASE_INFO_NONE :Puudub +STR_PURCHASE_INFO_ENGINES_ONLY :Vaid vedurid STR_PURCHASE_INFO_ALL_BUT :Kõik, välja arvatud {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Suurim veojõud: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Tegevusradius: {GOLD}{COMMA} ruutu diff --git a/src/lang/faroese.txt b/src/lang/faroese.txt index 349388f41d..5a4d340442 100644 --- a/src/lang/faroese.txt +++ b/src/lang/faroese.txt @@ -945,6 +945,9 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :annað + + + 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} vantandi/oyðiløgd fíl{P a ir} @@ -1534,6 +1537,8 @@ STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :ókendur STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Einki minni eftir STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Leitan eftir {BYTES} av spritecache eydnaðist ikki. Spritecache var skerd til {BYTES}. Hetta vil skerja framførsluna av OpenTTD. Fyri at minka um minnis krøvini kann tú royna at sløkkja fyri 32bpp grafikki og/ella suma-in stig +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2044,6 +2049,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, heinta niður grafikkin STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nei, gevst at spæla OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Gjøgnumskygnis møguleikar STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Sløkk/tendra gjøgnumskygni fyri skelti. Ctrl+trýst fyri at læsa @@ -2671,10 +2677,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Keyp 1 STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Mutra mynduleikan á staðnum fyri at økju um tína meting, við vanda fyri hvassari revsing um tað verður avdúka.{}Kostnaður: {CURRENCY_LONG} # Goal window -STR_GOALS_GLOBAL_TITLE :{BLACK}Heimsfevnandi mál: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Einki - -STR_GOALS_COMPANY_TITLE :{BLACK}Fyritøku mál: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Trýst á mál fyri at savna høvuðs sýni á ídnað/bygd/punt. Ctrl+trýst letur upp nýggjan sýnisglugga á ídnað/bygd/punt # Goal question window diff --git a/src/lang/finnish.txt b/src/lang/finnish.txt index 1858acac5e..d32f42d3d1 100644 --- a/src/lang/finnish.txt +++ b/src/lang/finnish.txt @@ -1001,6 +1001,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Valitse STR_GAME_OPTIONS_RESOLUTION :{BLACK}Näytön tarkkuus STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Valitse käytettävä näytön tarkkuus STR_GAME_OPTIONS_RESOLUTION_OTHER :muu +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}×{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Laitteistokiihdytys +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Valitse tämä, jos haluat, että OpenTTD yrittää käyttää laitteistokiihdytystä. Muutettu asetus tulee voimaan vasta pelin uudelleenkäynnistyksen jälkeen. +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Asetus tulee voimaan vasta pelin uudelleenkäynnistyksen jälkeen 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 @@ -1018,6 +1023,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normaali STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Kaksinkertainen koko STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Nelinkertainen koko +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafiikka + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Näytön virkistystaajuus +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Valitse käytettävä näytönvirkistystaajuus +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :muu +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM} Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Yli 60 Hz:n virkistystaajuudet saattavat vaikuttaa suorituskykyyn. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Perusgrafiikat STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Valitse käytettävät perusgrafiikat STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} puuttuva{P "" a}/korruptoitunut{P "" ta} tiedosto{P "" a} @@ -1788,6 +1801,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ohit STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Muisti lopussa STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}{BYTES} sprite-välimuistin varaaminen epäonnistui. Sprite-välimuistin kooksi valittiin {BYTES}. Tämä heikentää OpenTTD:n suorituskykyä. Vähentääksesi muistivaatimuksia voit kokeilla poistaa käytöstä 32bpp-grafiikat ja/tai lähennystasoja +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Virhe näyttöasetuksissa… +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}… yhteensopivaa grafiikkasuoritinta ei löytynyt. Laitteistokiihdytystä ei käytetä. + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2318,6 +2335,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Kyllä, lataa grafiiikat STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ei, sulje OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Läpinäkyvyysasetukset STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Muuta kylttien läpinäkyvyyttä. Ctrl+napsautus lukitsee. @@ -3177,26 +3195,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Rahoita uusia r STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Osta yksinoikeudet kuljetuksiin STR_LOCAL_AUTHORITY_ACTION_BRIBE :Lahjo viranomaisia -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Käynnistä pieni mainoskampanja hoikutellaksesi lisää matkustajia ja rahtia kuljetuspalveluihisi.{}Kustannus: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Käynnistä keskikokoinen mainoskampanja houkutellaksesi lisää matkustajia ja rahtia kuljetuspalveluihisi.{}Kustannus: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Käynnistä suuri mainoskampanja hoikutellaksesi lisää matkustajia ja rahtia kuljetuspalveluihisi.{}Kustannus: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Rahoita tieverkon uudelleenrakentamista. Aiheuttaa huomattavaa häiriötä tieliikenteessä jopa kuuden kuukauden ajan.{}Kustannus: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Rakenna patsas yhtiösi kunniaksi.{}Kustannus: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Rahoita uusien liikerakennusten rakentamista kunnassa.{}Kustannus: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Osta vuoden yksinoikeudet kunnan liikennöintiin. Paikallisviranomaiset eivät salli muiden yhtiöiden kuljettaa matkustajia ja rahtia.{}Kustannus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Käynnistä pieni mainoskampanja hoikutellaksesi lisää matkustajia ja rahtia kuljetuspalveluihisi.{}Tämä kasvattaa tilapäisesti asemien arvioita pienellä säteellä kunnan keskustan ympärillä.{}Kustannus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Käynnistä keskikokoinen mainoskampanja houkutellaksesi lisää matkustajia ja rahtia kuljetuspalveluihisi.{}Tämä kasvattaa tilapäisesti asemien arvioita keskikokoisella säteellä kunnan keskustan ympärillä.{}Kustannus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Käynnistä suuri mainoskampanja hoikutellaksesi lisää matkustajia ja rahtia kuljetuspalveluihisi.{}Tämä kasvattaa tilapäisesti asemien arvioita suurella säteellä kunnan keskustan ympärillä.{}Kustannus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Rahoita tieverkon uudelleenrakentamista.{}Aiheuttaa huomattavaa häiriötä tieliikenteessä jopa kuuden kuukauden ajan.{}Kustannus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Rakenna patsas yhtiösi kunniaksi.{}Parantaa asemien arvioita pysyvästi tässä kunnassa.{}Kustannus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Rahoita uusien liikerakennusten rakentamista kunnassa.{}Tämä kiihdyttää tämän kunnan kasvua tilapäisesti.{}Kustannus: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Osta vuoden yksinoikeudet kunnan liikennöintiin.{}Tällöin paikallisviranomaiset eivät salli matkustajien ja rahdin käyttää kilpailijoittesi asemia.{}Kustannus: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Lahjo viranomaisia lisätäksesi arviotasi; rangaistus voi olla kuitenkin suuri, jos jäät kiinni.{}Kustannus: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Tavoitteet STR_GOALS_SPECTATOR_CAPTION :{WHITE}Maailmanlaajuiset tavoitteet STR_GOALS_SPECTATOR :Maailmanlaajuiset tavoitteet -STR_GOALS_GLOBAL_TITLE :{BLACK}Maailmanlaajuiset tavoitteet: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Maailmanlaajuiset +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Näytä maailmanlaajuiset tavoitteet +STR_GOALS_COMPANY_BUTTON :{BLACK}Yhtiö +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Näytä yhtiön tavoitteet STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Ei mitään - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Ei saatavilla - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Yhtiön tavoitteet: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Keskitä päänäkymä laitokseen/kuntaan/ruutuun napsauttamalla tavoitetta. Ctrl+napsautus avaa uuden näkymäikkunan laitoksen/kunnan/ruudun sijaintiin. # Goal question window @@ -3567,6 +3586,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Moottoro STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Sovitettavissa: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Kaikki rahtityypit STR_PURCHASE_INFO_NONE :Ei mitään +STR_PURCHASE_INFO_ENGINES_ONLY :Vain veturit STR_PURCHASE_INFO_ALL_BUT :Kaikki paitsi {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Suurin vetovoima: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Toimintasäde: {GOLD}{COMMA} ruutua diff --git a/src/lang/french.txt b/src/lang/french.txt index 29b0280a06..64e8149e89 100644 --- a/src/lang/french.txt +++ b/src/lang/french.txt @@ -161,7 +161,7 @@ STR_ABBREV_BATTERIES :{TINY_FONT}BA STR_ABBREV_PLASTIC :{TINY_FONT}PL STR_ABBREV_FIZZY_DRINKS :{TINY_FONT}GZ STR_ABBREV_NONE :{TINY_FONT}NO -STR_ABBREV_ALL :{TINY_FONT}ALL +STR_ABBREV_ALL :{TINY_FONT}TOUT # 'Mode' of transport for cargoes STR_PASSENGERS :{COMMA}{NBSP}passager{P "" s} @@ -903,7 +903,7 @@ STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW :{BLACK}Modifier STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT :{BLACK}Copier l'emplacement de cette vue vers la vue principale # Game options window -STR_GAME_OPTIONS_CAPTION :{WHITE}Options +STR_GAME_OPTIONS_CAPTION :{WHITE}Options du jeu STR_GAME_OPTIONS_CURRENCY_UNITS_FRAME :{BLACK}Devise STR_GAME_OPTIONS_CURRENCY_UNITS_DROPDOWN_TOOLTIP :{BLACK}Sélectionner l'unité monétaire @@ -1002,6 +1002,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Cocher c STR_GAME_OPTIONS_RESOLUTION :{BLACK}Résolution STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Sélectionner la résolution d'écran à utiliser STR_GAME_OPTIONS_RESOLUTION_OTHER :autre +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK} Accélération matérielle +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Cochez cette case permet à OpenTTD d'utiliser l'accélération matérielle, si possible. Un paramètre modifié ne sera pris en compte qu'au redémarrage du jeu +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Les paramètres ne prendront effet qu'après le redémarrage du jeu 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 @@ -1019,6 +1024,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Taille double STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Taille quadruple +STR_GAME_OPTIONS_GRAPHICS :Graphiques {BLACK} + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK} Taux de rafraîchissement de l'affichage +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK} Sélectionnez la fréquence de rafraîchissement à utiliser +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :autres +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE} Les taux de rafraîchissement supérieurs à 60Hz peuvent avoir un impact sur les performances. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Graphiques de base STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Sélectionner les graphiques de base à utiliser STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fichier{P "" s} manquant{P "" s}/corrompu{P "" s} @@ -1789,6 +1802,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... musi STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Plus de mémoire STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}L'allocation de {BYTES} pour le cache des sprites a échoué. Le cache des sprites a été réduit à {BYTES}. Cela va réduire les performances d'OpenTTD. Pour diminuer les besoins en mémoire vous pouvez essayer de désactiver les graphismes 32bpp et/ou les niveaux de zoom avant +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE} Erreur avec les paramètres vidéo... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE} ... aucun GPU compatible trouvé. l'accélération matérielle est désactivée + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1804,7 +1821,7 @@ STR_INTRO_HIGHSCORE :{BLACK}Meilleur 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 +STR_INTRO_SCRIPT_SETTINGS :{BLACK}Paramètres des IA/script jeu STR_INTRO_QUIT :{BLACK}Quitter STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Démarrer une nouvelle partie. Ctrl-clic pour passer outre la configuration du terrain. @@ -2002,7 +2019,7 @@ STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Recherch STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Rechercher des serveurs sur le réseau local STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Ajouter un serveur STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Ajouter un serveur à la liste de ceux parmi lesquels des parties en cours seront toujours cherchées -STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Démarrer le serveur +STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Héberger/créer un serveur de jeu STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Démarrer son propre serveur, sur cet ordinateur-ci STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Entrer votre nom @@ -2094,7 +2111,7 @@ STR_NETWORK_GAME_LOBBY_PLAYERS :{SILVER}Joueurs STR_NETWORK_GAME_LOBBY_NEW_COMPANY :{BLACK}Nouvelle compagnie STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Créer une nouvelle compagnie -STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Observer une partie +STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Observer la partie STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Observer une partie en tant que spectateur STR_NETWORK_GAME_LOBBY_JOIN_COMPANY :{BLACK}Rejoindre la compagnie STR_NETWORK_GAME_LOBBY_JOIN_COMPANY_TOOLTIP :{BLACK}Aider à gérer cette compagnie @@ -2319,6 +2336,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Oui, télécharger les graphiques STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Non, quitter OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Options de transparence STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Transparence des panneaux.{}Ctrl-clic pour verrouiller. @@ -3178,26 +3196,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financer de nou STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Acheter les droits de transports exclusifs STR_LOCAL_AUTHORITY_ACTION_BRIBE :Corrompre la municipalité -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Lancer une petite campagne de publicité, pour attirer plus de voyageurs et de marchandises sur vos lignes.{}Coût{NBSP}: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Lancer une campagne de publicité moyenne, pour attirer plus de voyageurs et de marchandises sur vos lignes.{}Coût{NBSP}: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Lancer une grande campagne de publicité, pour attirer plus de voyageurs et de marchandises sur vos lignes.{}Coût{NBSP}: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financer la reconstruction du réseau routier local. Provoque de nombreux problèmes de trafic routier pendant 6 mois.{}Coût{NBSP}: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construire une statue en l'honneur de votre compagnie.{}Coût{NBSP}: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Financer la construction de nouveaux immeubles commerciaux.{}Coût{NBSP}: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Acheter les droits de transport exclusifs dans cette ville pour 1 an. Seules vos lignes seront autorisées dans la ville.{}Coût{NBSP}: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Lancez une petite campagne de publicité locale pour attirer plus de passagers et de marchandises vers vos services de transport.{} Augmente temporairement le classement des gares dans un petit rayon autour du centre-ville.{}Coût: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Lancer une campagne de publicité moyenne, pour attirer plus de voyageurs et de marchandises sur vos lignes.{}Augmente temporairement le classement de vos gares dans un rayon moyen autour du centre-ville.{}Coût:{CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Lancer une grande campagne de publicité, pour attirer plus de voyageurs et de marchandises sur vos lignes.{}Augmente temporairement le classement des gares dans un rayon important autour du centre-ville.{}Coût: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Financer la reconstruction du réseau routier local. Provoque de nombreux problèmes de trafic routier pendant 6 mois.{}Coût: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construire une statue en l'honneur de votre compagnie.{}Augmente en permanence le classement de vos stations dans cette ville.{}Coût:{CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Financer la construction de nouveaux immeubles commerciaux.{}Stimule temporairement la croissance dans cette ville.{}Coût:{CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Achetez les droits de transport exclusifs d'un an pour la ville.{} La municipalité n'autorisera pas les passagers et les marchandises à utiliser les gares de vos concurrents.{} Coût: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Corrompre la municipalité pour améliorer votre réputation. Risque de pénalisation si le pot-de-vin est dévoilé.{}Coût{NBSP}: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}Objectifs de {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objectifs globaux STR_GOALS_SPECTATOR :Objectifs globaux -STR_GOALS_GLOBAL_TITLE :{BLACK}Objectifs globaux{NBSP}: +STR_GOALS_GLOBAL_BUTTON :{BLACK} Globaux +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK} Afficher les objectifs généraux +STR_GOALS_COMPANY_BUTTON :{BLACK} compagnie +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK} Afficher les objectifs de votre compagnie STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}− Aucun − -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Pas applicable - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Objectifs de la compagnie{NBSP}: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Cliquer sur l'objectif pour centrer la vue principale sur l'industrie, la ville ou la case. Ctrl-clic pour ouvrir une nouvelle vue sur l'industrie, la ville ou la case. # Goal question window @@ -3568,6 +3587,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Wagons m STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Réaménageable pour{NBSP}: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Tous les types de cargaison STR_PURCHASE_INFO_NONE :Aucune cargaison +STR_PURCHASE_INFO_ENGINES_ONLY :Moteurs uniquement STR_PURCHASE_INFO_ALL_BUT :Tous sauf {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Effort de traction max.{NBSP}: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rayon d'action{NBSP}: {GOLD}{COMMA}{NBSP}cases diff --git a/src/lang/gaelic.txt b/src/lang/gaelic.txt index 341cd67510..d03a33acc4 100644 --- a/src/lang/gaelic.txt +++ b/src/lang/gaelic.txt @@ -1174,6 +1174,7 @@ 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_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 @@ -1183,6 +1184,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Ceithir uiread + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Seata grafaigeachd bunasach STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Tagh an seata grafaigeachd bunasach a chleachdas tu STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} {P fhaidhle fhaidhle faidhlichean faidhle} a dhìth/coirbte @@ -1915,6 +1918,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... a' l STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Chan eil cuimhne gu leòr agad STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Dh'fhàillig le sònrachadh aig {BYTES} dhe thasgadan nam sprites. Chaidh tasgadan nam sprites a lùghdachadh gu {BYTES}. Le sin, bidh an dèanadas aig OpenTTD nas lugha. Gus nach bidh feum ann airson a leithid dhe chuimhne, feuch an cuir thu grafaigeachd 32bpp is/no leibheilean sùmaidh à comas +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2433,6 +2438,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}Tha graf STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Bheir, luchdaich a' ghrafaigeachd a-nuas STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Cha toir, fàg OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Roghainnean trìd-shoilleireachd STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Toglaich trìd-shoilleireachd nan sanasan. Ctrl+Briogadh airson glasadh @@ -3277,13 +3283,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Ceannai STR_GOALS_CAPTION :{WHITE}Amasan aig {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Amasan coitcheann STR_GOALS_SPECTATOR :Amasan coitcheann -STR_GOALS_GLOBAL_TITLE :{BLACK}Amasan coitcheann: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Chan eil gin - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Chan eil seo iomchaidh - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Amasan na companaidh: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Briog air an amas gus am prìomh-shealladh a mheadhanachadh air gnìomhachas/baile/leac. Fosglaidh Ctrl+briogadh port-seallaidh ùr air ionad a' ghnìomhachais/a' bhaile/na lice # Goal question window diff --git a/src/lang/galician.txt b/src/lang/galician.txt index ae5e3ab42b..6b7865340f 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -989,6 +989,7 @@ 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_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 @@ -1003,6 +1004,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Tamaño doble STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Tamaño do cadro + + 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} arquivo{P "" s} inexistente{P "" s}/erróneo{P "" s} @@ -1751,6 +1754,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}...ignor STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memoria esgotada STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE} Fallo ao reservar {BYTES} de caché de sprites. A caché de sprites reduciuse a {BYTES}. Isto reducirá o rendemento de OpenTTD. Para reducir os requisitos de memoria podes tentar deshabilitar os gráficos 32bpp e/ou niveles de zoom +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2270,6 +2275,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Si, descarga os gráficos STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Non, abandona OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opcións de Transparencia STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Habilitar transparencia para os rótulos. CTRL+Click para bloquear @@ -3125,13 +3131,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Suborna STR_GOALS_CAPTION :{WHITE}{COMPANY} Obxectivos STR_GOALS_SPECTATOR_CAPTION :{WHITE}Obxectivos globais STR_GOALS_SPECTATOR :Obxectivos globais -STR_GOALS_GLOBAL_TITLE :{BLACK}Obxectivos globais: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Ningún - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Non aplicábel - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Obxectivos da compañía: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Pincha nun obxectivo para centra-la vista principal na industria/cidade/cadro. Ctrl+Click abre unha nova ventá na localización da industria/cidade/cadro # Goal question window diff --git a/src/lang/german.txt b/src/lang/german.txt index 4e448bb635..88df7bbf17 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -1013,6 +1013,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}OpenTTD STR_GAME_OPTIONS_RESOLUTION :{BLACK}Bildschirmauflösung STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Bildschirmauflösung auswählen STR_GAME_OPTIONS_RESOLUTION_OTHER :Andere +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Hardware-Beschleunigung +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Dieses Kästchen ankreuzen, um OpenTTD zu erlauben, die Hardwarebeschleunigung zu verwenden. Eine geänderte Einstellung wird nur beim Spielneustart wirksam +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Die Einstellung tritt nur nach einem Neustart des Spiels in Kraft 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 @@ -1030,6 +1035,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Zweifach STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Vierfach +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafik + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Bildwiederholrate +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Zu verwendende Bildwiederholrate auswählen +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :andere +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Wiederholraten größer als 60Hz beeinträchtigen möglicherweise die Performance. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisgrafiken STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Zu benutzendes Set an Basisgrafiken auswählen STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fehlende/fehlerhafte Datei{P "" en} @@ -1848,6 +1861,8 @@ STR_CONFIG_SETTING_ZOOM_MIN :Maximale Hinein STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Maximale Vergrößerung für Kartenansichten. Bedenke, dass höhere Vergrößerungsstufen mehr Arbeitsspeicher benötigen STR_CONFIG_SETTING_ZOOM_MAX :Maximale Herauszoomstufe: {STRING} STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Maximale Verkleinerungsstufe für Kartenansichten. Höhere Verkleinerungsstufen können Ruckeln verursachen +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Höchste Auflösung der Sprites: {STRING} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limitiert die maximale Auflösung, die von Sprites verwendet wird. Das Limitieren der Sprite-Auflösung verhindert das Verwenden von hochauflösenden Grafiken selbst dann, wenn diese verfügbar sind. Dies kann dabei helfen eine einheitliche Spieldarstellung zu erhalten, wenn GRF-Dateien mit und ohne hochauflösenden Grafiken verwendet werden. STR_CONFIG_SETTING_ZOOM_LVL_MIN :4× STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2× STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normal @@ -1858,6 +1873,9 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_16X :16x STR_CONFIG_SETTING_ZOOM_LVL_OUT_32X :32x STR_CONFIG_SETTING_ZOOM_LVL_OUT_64X :64x STR_CONFIG_SETTING_ZOOM_LVL_OUT_128X :128x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x STR_CONFIG_SETTING_TOWN_GROWTH :Wachstumsgeschwindigkeit von Städten: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Geschwindigkeit des Städtewachstums STR_CONFIG_SETTING_TOWN_GROWTH_CARGO_TRANSPORTED :Wachstumsgeschwindigkeit von Städten hängt von transportierter Fracht ab: {STRING} @@ -2088,6 +2106,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Zu wenig Arbeitsspeicher STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Reservieren von {BYTES} des Spritecaches fehlgeschlagen. Der Spritecache wurde auf {BYTES} verkleinert. Dies wird die Performance von OpenTTD verschlechtern. Um den Speicherbedarf zu verringern, kann man versuchen, 32bpp-Grafiken auszuschalten und/oder den Zoom-Level zu begrenzen +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Fehler mit den Grafikeinstellungen ... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... keine kompatible GPU gefunden. Hardwarebeschleunigung deaktiviert + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2625,6 +2647,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, Grafiken herunterladen STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nein, OpenTTD beenden + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Transparenzeinstellungen STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Transparenz für Schilder einstellen. Strg+Klick, um Umschalten zu verhindern bzw. wieder zu erlauben @@ -3868,26 +3891,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Neue Gebäude f STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Exklusive Transportrechte kaufen STR_LOCAL_AUTHORITY_ACTION_BRIBE :Die Stadtverwaltung bestechen -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Im Ort eine kleine Werbekampagne starten, um mehr Passagier- und Frachtaufträge für die eigene Firma zu gewinnen.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Im Ort eine mittlere Werbekampagne starten, um mehr Passagier- und Frachtaufträge für die eigene Firma zu gewinnen.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Im Ort eine große Werbekampagne starten, um mehr Passagier- und Frachtaufträge für die eigene Firma zu gewinnen.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Die örtlichen Straßenreparaturen finanzieren. Der Straßenverkehr wird bis zu 6 Monate beeinträchtigt.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Eine Statue zu Ehren der eigenen Firma errichten.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Bau von Geschäftsgebäuden im Ort finanzieren.{}Kosten: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Für ein Jahr die exklusiven Transportrechte in der Stadt kaufen. Die Stadtverwaltung erlaubt dann nur Passagier- und Frachttransporte der eigenen Firma.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Im Ort eine kleine Werbekampagne starten, um mehr Passagier- und Frachtaufträge für die eigene Firma zu gewinnen.{}Bewirkt eine temporäre Steigerung der Stationsbewertung in einem kleinen Radius um das Ortszentrum.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Im Ort eine mittlere Werbekampagne starten, um mehr Passagier- und Frachtaufträge für die eigene Firma zu gewinnen.{}Bewirkt eine temporäre Steigerung der Stationsbewertung in einem mittleren Radius um das Ortszentrum.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Im Ort eine große Werbekampagne starten, um mehr Passagier- und Frachtaufträge für die eigene Firma zu gewinnen.{}Bewirkt eine temporäre Steigerung der Stationsbewertung in einem großen Radius um das Ortszentrum.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Die örtlichen Straßenreparaturen finanzieren.{}Der Straßenverkehr wird bis zu 6 Monate beeinträchtigt.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Eine Statue zu Ehren der eigenen Firma errichten.{}Bewirkt eine permanente Steigerung der Stationsbewertung in diesem Ort.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Bau von neuen Gebäuden im Ort finanzieren.{}Bewirkt eine temporäre Steigerung des Ortswachstums in diesem Ort.{}Kosten: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Für ein Jahr die exklusiven Transportrechte in der Stadt kaufen.{}Die Stadtverwaltung erlaubt dann nur Passagier- und Frachttransporte der eigenen Firma.{}Kosten: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Die Stadtverwaltung bestechen, um die eigene Bewertung zu verbessern. Dabei riskiert man allerdings eine harte Strafe, falls man ertappt wird.{}Kosten: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Ziele STR_GOALS_SPECTATOR_CAPTION :{WHITE}Allgemeine Spielziele STR_GOALS_SPECTATOR :Allgemeine Spielziele -STR_GOALS_GLOBAL_TITLE :{BLACK}Allgemeine Spielziele: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Allgemein +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Allgemeine Spielziele anzeigen +STR_GOALS_COMPANY_BUTTON :{BLACK}Firma +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Firmenziele anzeigen STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Keine - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- n.v. - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Firmenspezifische Ziele: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klick auf Ziel zentriert Hauptansicht auf Industrie/Stadt/Feld. Strg+Klick öffnet eine darauf zentrierte Zusatzansicht # Goal question window @@ -4399,6 +4423,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Angetrie STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Umrüstbar auf: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Alle Frachtarten STR_PURCHASE_INFO_NONE :Keine +STR_PURCHASE_INFO_ENGINES_ONLY :Nur Schienenfahrzeuge STR_PURCHASE_INFO_ALL_BUT :Alles außer {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Max. Zugkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Reichweite: {GOLD}{COMMA} Felder diff --git a/src/lang/greek.txt b/src/lang/greek.txt index aa44bffa4d..0e702086f1 100644 --- a/src/lang/greek.txt +++ b/src/lang/greek.txt @@ -1101,6 +1101,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ανάλ STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Διαλέξτε την ανάλυση της οθόνης που θέλετε STR_GAME_OPTIONS_RESOLUTION_OTHER :άλλη + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Μέγεθος διεπαφής STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Επιλέξτε το μέγεθος στοιχείου διεπαφής @@ -1116,6 +1117,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Κανονικ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Διπλό μέγεθος STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Τετραπλό μέγεθος + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Βασικό σετ γραφικών STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Επιλογή του βασικού σετ γραφικών που θα χρησιμοποιηθεί STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} αρχεί{P ο α} που λείπ{P ει ουν} ή είναι κατεστραμμέν{P ο α} @@ -1869,6 +1872,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... αγ STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Έλληψη μνήμης STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Η κατανομή {BYTES} του spritecache απέτυχε. Το spritecache μειώθηκε σε {BYTES}. Αυτό θα μειώσει την απόδοση του OpenTTD. Για να μειώσετε τις ανάγκες μνήμς μπορείτε να απενεργοποιήσετε τα γραφικά 32bpp graphics ή/και τα επίπεδα μεγέθυνσης +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2396,6 +2401,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}Το Ope STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ναι, κατέβασε τα γραφικά STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Όχι, έξοδος από το OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Ρυθμίσεις Διαφάνειας STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Εναλλαγή διαφάνειας για τις πινακίδες. Ctrl+Κλικ για να την κλειδώσετε @@ -3252,13 +3258,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Δωρ STR_GOALS_CAPTION :{WHITE}{COMPANY} Στόχοι: STR_GOALS_SPECTATOR_CAPTION :{WHITE}Καθολικοί στόχοι: STR_GOALS_SPECTATOR :Καθολικοί στόχοι -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_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Εταιρικοί στόχοι: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Πατήστε στον στόχο για να επικεντρωθεί η οθόνη στη βιομηχανία/πόλη/τετραγωνίδιο. Με Ctrl+Κλικ ανοίγει το παράθυρο θέασης στην τοποθεσία της βιομηχανίας/πόλης/τετραγωνίδιου # Goal question window diff --git a/src/lang/hebrew.txt b/src/lang/hebrew.txt index 52fe50a026..2f967a2e7c 100644 --- a/src/lang/hebrew.txt +++ b/src/lang/hebrew.txt @@ -988,6 +988,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}רזלו STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}בחר את רזולוציית המסך STR_GAME_OPTIONS_RESOLUTION_OTHER :אחר + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}גודל ממשק STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}בחר את ממשק גודל העצם לשימוש @@ -997,6 +998,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :גודל מרו + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}ערכת גרפיקה בסיסית STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}בחר בערכת גרפיקה בסיסית לשימוש STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{P 0 "קובץ " ""}{NUM}{P "" " קבצים"} חסר{P 0 "" ים}/הושחט{P 0 "" ו} @@ -1730,6 +1733,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... מת STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}הזיכרון התמלא STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE} הקצאת {BYTES} בתים של מטמון נכשלה. המטמון הופחת ל-{BYTES} בתים. דבר זה יפחית את הביצועים של OpenTTD. כדי להפחית את דרישות הזיכרון ניתן לנסות לבטל את הגרפיקה ב-32bbp ו/או רמות ה-זום-אין +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2247,6 +2252,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}כן, הורד את הגרפיקה STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}לא, צא מ-OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}הגדרות שקיפות STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK} שנה שקיפות עבור שלטי תחנות. Ctrl+לחיצה לנעילה @@ -3056,13 +3062,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}שחד # 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_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}מטרות חברה: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}הקלק על מטרה כדי למרכז את התצוגה הראשית על תעשיה/עיירה/משבצת. קליק תוך כדי לחיצה על מקש Ctrl פותח חלון תצוגה חדש במיקום התעשיה/העיירה/המשבצת # Goal question window diff --git a/src/lang/hungarian.txt b/src/lang/hungarian.txt index 97767e1d64..aa03682d29 100644 --- a/src/lang/hungarian.txt +++ b/src/lang/hungarian.txt @@ -257,6 +257,7 @@ STR_COLOUR_DEFAULT :Alapértelmezet 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_VELOCITY_GAMEUNITS :{DECIMAL}{NBSP}mező/nap STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}LE STR_UNITS_POWER_METRIC :{COMMA}{NBSP}LE @@ -376,8 +377,15 @@ STR_SORT_BY_CARGO_CAPACITY :Szállítási k STR_SORT_BY_RANGE :Hatótávolság STR_SORT_BY_POPULATION :Lakosság STR_SORT_BY_RATING :Értékelés +STR_SORT_BY_NUM_VEHICLES :Járművek száma +STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Tavalyi összes profit +STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Idei összes profit +STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Tavalyi átlagos profit +STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :Idei átlagos profit # Group by options for vehicle list +STR_GROUP_BY_NONE :Nincs +STR_GROUP_BY_SHARED_ORDERS :Megosztott utasítások # Tooltips for the main toolbar STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Játék szüneteltetése @@ -804,6 +812,7 @@ STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Göröngyös Talaj STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Füves Talaj STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Csupasz Föld +STR_SMALLMAP_LEGENDA_RAINFOREST :{TINY_FONT}{BLACK}Esőerdő STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Szántóföld STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Fa STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Kő @@ -835,6 +844,7 @@ STR_SMALLMAP_TOOLTIP_ENABLE_ALL_CARGOS :{BLACK}Minden r STR_STATUSBAR_TOOLTIP_SHOW_LAST_NEWS :{BLACK}Utolsó üzenet vagy újsághír megmutatása STR_STATUSBAR_COMPANY_NAME :{SILVER}- - {COMPANY} - - STR_STATUSBAR_PAUSED :{YELLOW}* * SZÜNET * * +STR_STATUSBAR_PAUSED_LINK_GRAPH :{ORANGE}* * SZÜNET (várakozás a kapcsolati gráf frissítésére) * * STR_STATUSBAR_AUTOSAVE :{RED}Automatikus mentés STR_STATUSBAR_SAVING_GAME :{RED}* * JÁTÉK MENTÉSE * * @@ -1001,6 +1011,8 @@ STR_GAME_OPTIONS_CURRENCY_NTD :Új Tajvani Dol STR_GAME_OPTIONS_CURRENCY_CNY :Kínai Renminbi (CNY) STR_GAME_OPTIONS_CURRENCY_HKD :Hongkongi Dollár (HKD) STR_GAME_OPTIONS_CURRENCY_INR :Indiai Rúpia (INR) +STR_GAME_OPTIONS_CURRENCY_IDR :Indonéz rúpia (IDR) +STR_GAME_OPTIONS_CURRENCY_MYR :Maláj ringgit (MYR) ############ end of currency region STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Balra hajtás @@ -1053,10 +1065,16 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Jelöld STR_GAME_OPTIONS_RESOLUTION :{BLACK}Képernyő felbontás 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_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Hardveres gyorsítás +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Bekapcsolásával az OpenTTD hardveres gyorsítást próbál alkalmazni. A beállítás csak a játék újraindítása után lép érvénybe. +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Ez a beállítás csak a játék újraindítása után lép érvénybe 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_AUTO :(automatikus) 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 @@ -1064,10 +1082,19 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Négyszeres mé STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Betűméret STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Használni kívánt betűméret kiválasztása +STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(automatikus) STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normál STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dupla méret STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Négyszeres méret +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Képernyőfrissítési frekvencia +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Játékhoz használt képernyőfrissítési frekvencia kiválasztása +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :egyéb +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}A 60 Hz-nél nagyobb frekvencia befolyással lehet a teljesítményre. + 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} hiányzó/hibás fájl @@ -1503,6 +1530,12 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Építő eszkö STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Az építő eszközök, pl. hidak, alagutak stb. aktívan tartása használatuk után STR_CONFIG_SETTING_EXPENSES_LAYOUT :Kiadási/bevételi adatok csoportosítása a pénzügyi ablakban: {STRING} STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :A pénzügyi adatok ablak elrendezésének beállítása +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Jelzők automatikus eltávolítása vasúti pálya építésekor: {STRING} +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatikusan eltávolítja a jelzőket vasúti pálya építésekor, ha útban vannak. Potenciálisan vasúti baleseteket okozhat! +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :A játék gyorsításának maximális értéke: {STRING} +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Megadja, hogy milyen gyorsan fusson a játék, ha a gyorsítás be van kapcsolva. 0 esetén nincs korlát, olyan gyorsan fog futni, ahogyan a számítógéped bírja. 100% alatt a játék lassabb lesz. A felső határ a számítógéped teljesítményétől és magától a játéktól is függ. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :A normál sebesség {NUM}%-a +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Nincs korlát (ahogyan a számítógéped bírja) STR_CONFIG_SETTING_SOUND_TICKER :Hírsáv: {STRING} STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Hang lejátszása új hír érkezésekor @@ -1616,7 +1649,11 @@ STR_CONFIG_SETTING_ENDING_YEAR :Játék végi p STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :A játék ebben az évben ér véget pontozás szempontjából. Ennek az évnek a végén a vállalat teljesítménypontszáma rögzítésre kerül, és adott esetben megjelenik a rekord táblán, de a játékosok ezután folytathatják a játékot.{}Ha ez a kezdő év elé van állítva, akkor a rekord tábla sosem jelenik meg. STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Soha +STR_CONFIG_SETTING_ECONOMY_TYPE :Gazdaság típusa: {STRING} +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Egyenletes gazdaság esetén a termelés gyakrabban, de kisebb mértékben változik. Stagnáló gazdaság esetén a termelés egyáltalán nem változik, a gazdasági épületek nem zárnak be. NewGRF-ből származó gazdasági épületek esetén ennek a beállításnak lehet, hogy nem lesz hatása. STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Eredeti +STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Egyenletes +STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Stagnáló STR_CONFIG_SETTING_ALLOW_SHARES :Más vállalatokból lehet részvényt vásárolni: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Bekapcsolva engedélyezi más vállalatok részvényeinek megvásárlását. A részvények csak akkor elérhetőek, ha a vállalat elért egy bizonyos kort STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Vállalatok minimális életkora részvénykibocsátáshoz: {STRING} @@ -1668,6 +1705,10 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineáris STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Játékbeli faelhelyezkedés: {STRING} STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Fák véletlenszerű megjelenésének szabályozása a játék során. Ez befolyásolhatja a gazdasági épületeket, melyek a fák növekedésétől függnek, mint a favágók +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Növekedjenek, de ne terjedjenek {RED}(favágók ellehetetlenítése) +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Növekedjenek és esőerdőkben terjedjenek +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Növekedjenek és mindenhol terjedjenek +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Ne növekedjenek és ne terjedjenek {RED}(favágók ellehetetlenítése) STR_CONFIG_SETTING_TOOLBAR_POS :A fő eszközsor helye: {STRING} STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :A fő eszközsor vízszintes elhelyezésének beállítása a képernyő tetején @@ -1734,6 +1775,7 @@ STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :A sebességért 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_VELOCITY_GAMEUNITS :Játékbeli egység (mező/nap) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Teljesítmény mértékegysége: {STRING} 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 @@ -1823,6 +1865,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... érv STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Kevés a memória STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}{BYTES} memória gyorsítótár kiosztása sikertelen. A gyorsítótár le lett csökkentve {BYTES}ra. Ez csökkenti az OpenTTD teljesítményét. Csökkentheted a memóriaigényt, ha kikapcsolod a 32bpp grafikát és/vagy a nagyítási szinteket +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Hiba a videobeállításokban... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nem található kompatibilis GPU. Hardveres gyorsítás kikapcsolva. + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1866,6 +1912,7 @@ STR_INTRO_TRANSLATION :{BLACK}Ebből a # Quit window STR_QUIT_CAPTION :{WHITE}Kilépés +STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Biztosan bezárod ezt a programot? STR_QUIT_YES :{BLACK}Igen STR_QUIT_NO :{BLACK}Nem @@ -1877,6 +1924,7 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Biztosa # Cheat window STR_CHEATS :{WHITE}Csalások STR_CHEATS_TOOLTIP :{BLACK}A kijelölőnégyzetek jelzik a csalások eddigi használatát +STR_CHEATS_NOTE :{BLACK}Megjegyzés: a csalások használata mentve lesz a játékmentésben. STR_CHEAT_MONEY :{LTBLUE}Tőkeemelés {CURRENCY_LONG} STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Irányított vállalat: {ORANGE}{COMMA} STR_CHEAT_EXTRA_DYNAMITE :{LTBLUE}Csodabuldózer (lerombol gazdasági épületeket, mozgathatatlan objektumokat): {ORANGE}{STRING} @@ -2028,6 +2076,10 @@ STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Csatlako STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Szerver frissítése STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Szerver infó frissítése +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :{BLACK}Keresés interneten +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Nyilvános szerverek keresése az interneten +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Keresés helyi hálózaton +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Szerverek keresése a helyi hálózaton STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Szerver hozzáadása STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Hozzáadja a szervert a listához, így később gyorsabban tudsz hozzá csatlakozni STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Szerver indítása @@ -2259,6 +2311,7 @@ STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :játékosok sz STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :kapcsolódó kliensek STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :kézi STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :játékszkript +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :várakozás a kapcsolati gráf frissítésére ############ End of leave-in-this-order STR_NETWORK_MESSAGE_CLIENT_LEAVING :kilépés STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} csatlakozott a játékhoz @@ -2268,6 +2321,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} cs STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} új vállalatot alapított (#{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} kilépett a játékból ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} nevet változtatott. Új neve: {STRING} +STR_NETWORK_MESSAGE_GIVE_MONEY :*** {0:STRING} a következő összeget utalta {1:STRING} részére: {2:CURRENCY_LONG} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}A szerver leállította a játékot STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}A szerver újraindul...{}Türelem... STR_NETWORK_MESSAGE_KICKED :*** {STRING} ki lett rúgva. Oka: ({STRING}) @@ -2345,6 +2399,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}Az OpenT STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Igen, a grafikai alapcsomag letöltése STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nem, kilépés az OpenTTD-ből + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Átlátszósági beállítások STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Átlátszó feliratok bekapcsolása. Ctrl+kattintással zárolható @@ -2387,6 +2442,7 @@ STR_JOIN_WAYPOINT_CAPTION :{WHITE}Ellenőr STR_JOIN_WAYPOINT_CREATE_SPLITTED_WAYPOINT :{YELLOW}Különálló ellenőrző pont építése # Generic toolbar +STR_TOOLBAR_DISABLED_NO_VEHICLE_AVAILABLE :{BLACK}Kikapcsolva, mivel semmilyen jármű sem tudná használni # Rail construction toolbar STR_RAIL_TOOLBAR_RAILROAD_CONSTRUCTION_CAPTION :Vasút építése @@ -2582,6 +2638,12 @@ STR_TREES_RANDOM_TYPE :{BLACK}Véletle STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Véletlenszerűen kiválasztott fákat helyez el. Shift lenyomásával megmutatja a várható telepítési költséget STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Véletlenszerű fák STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Véletlenszerűen fákat ültet a térképre +STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normál +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}A tájon való húzással egyesével fákat ültet. +STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Liget +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}A tájon való húzással kis erdőket, ligeteket ültet. +STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Erdő +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}A tájon való húzással nagy erdőket ültet. # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Táj szerkesztése @@ -2632,12 +2694,18 @@ STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Véletle # Fund new industry window STR_FUND_INDUSTRY_CAPTION :{WHITE}Új gazdasági épület STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Megfelelő gazdasági épülettípus kiválasztása a listából -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :Sok véletlen gazdasági épület +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Sok véletlen gazdasági épület STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Elhelyez a térképen véletlenszerüen sok gazdasági épületet +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Sok véletlen gazdasági épület +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Tényleg szeretnél sok véletlen gazdasági épületet felépíteni? STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Ár: {YELLOW}{CURRENCY_LONG} STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Kutatás STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Épít STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Alapít +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Összes gazdasági épület eltávolítása +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Eltávolítja az összes, a térképen található gazdasági épületet +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Összes gazdasági épület eltávolítása +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Biztosan el akarod távolítani az összes gazdasági épületet? # Industry cargoes window STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Ipari láncolat {STRING} gazdasági épületnek @@ -2868,6 +2936,8 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: STR_SAVELOAD_FILTER_TITLE :{BLACK}Szűrő: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Fájl felülírása STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}Biztos vagy benne, hogy felülírod a létező fájlt? +STR_SAVELOAD_DIRECTORY :{STRING} (Könyvtár) +STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Szülőkönyvtár) STR_SAVELOAD_OSKTITLE :{BLACK}Add meg a játékmentés nevét @@ -3128,6 +3198,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Kis- és # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Felirat szerkesztése +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}A fő nézetet a felirat helyére állítja. Ctrl+kattintás esetén új nézetet nyit a felirat helyére. STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Következő felirat STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Előző felirat @@ -3188,33 +3259,34 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Új épületek STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Kizárólagos szállítási jogok vásárlása STR_LOCAL_AUTHORITY_ACTION_BRIBE :Önkormányzat megvesztegetése -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Kis helyi reklámhadjárat indítása, hogy több utast és rakományt vonzz a megállóidba.{}Ára: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Közepes helyi reklámhadjárat indítása, hogy több utast és rakományt vonzz a megállóidba.{}Ára: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Nagy helyi reklámhadjárat indítása, hogy több utast és rakományt vonzz a megállóidba.{}Ára: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}A városi úthálózat felújításának támogatása. Hat hónapig jelentősen összezavarja a közúti forgalmat.{}Ára: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Szobor építése a vállalatod tiszteletére.{}Ára: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Új kereskedelmi épületek építésének támogatása a városban.{}Ára: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Egy éves kizárólagos szállítási jogok vásárlása a városban. Az önkormányzat csak a te állomásaid használatát engedi meg az utasoknak és a rakományoknak.{}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Kis helyi reklámhadjárat indítása, hogy több utast és rakományt vonzz a megállóidba.{}A város körül kis területen ideiglenesen javítja az állomásaid minősítését.{}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Közepes helyi reklámhadjárat indítása, hogy több utast és rakományt vonzz a megállóidba.{}A város körül közepes méretű területen ideiglenesen javítja az állomásaid minősítését.{}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Nagy helyi reklámhadjárat indítása, hogy több utast és rakományt vonzz a megállóidba.{}A város körül nagy területen ideiglenesen javítja az állomásaid minősítését.{}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}A városi úthálózat felújításának támogatása.{}Hat hónapig jelentősen összezavarja a közúti forgalmat.{}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Szobor építése a vállalatod tiszteletére.{}Javítja az állomásaid értékelését a városban.{}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Új kereskedelmi épületek építésének támogatása a városban.{}A város egy ideig gyorsabban fog növekedni.{}Ára: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Egy éves kizárólagos szállítási jogok vásárlása a városban.{}Az önkormányzat megtiltja az utasoknak és a rakományoknak, hogy más vállalatok állomásait használják.{}Ára: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}A megítélésed növelése az önkormányzat megvesztegetésével, komoly büntetést kockáztatva, ha az kiderül.{}Ára: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} céljai STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globális célok STR_GOALS_SPECTATOR :Globális célok -STR_GOALS_GLOBAL_TITLE :{BLACK}Globális célok: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Globális célok +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Globális célok mutatása +STR_GOALS_COMPANY_BUTTON :{BLACK}Vállalati célok +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Vállalati célok mutatása STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nincs - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nem alkalmazható - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Vállalat céljai: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kattintással a fő nézetet a célra állítja. Ctrl+kattintással új látképet nyit a gazdasági épület/település/mező helyéről # Goal question window -STR_GOAL_QUESTION_CAPTION_QUESTION :Kérdés -STR_GOAL_QUESTION_CAPTION_INFORMATION :Információ -STR_GOAL_QUESTION_CAPTION_WARNING :Figyelmeztetés -STR_GOAL_QUESTION_CAPTION_ERROR :Hiba +STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Kérdés +STR_GOAL_QUESTION_CAPTION_INFORMATION :{BLACK}Információ +STR_GOAL_QUESTION_CAPTION_WARNING :{BLACK}Figyelmeztetés +STR_GOAL_QUESTION_CAPTION_ERROR :{YELLOW}Hiba ############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Mégse @@ -3423,7 +3495,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}25%-nyi STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :A vállalat neve STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Elnök neve -STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Add meg a küldeni kívánt pénz mennyiségét +STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Mennyi pénzt szeretnél adományozni? STR_BUY_COMPANY_MESSAGE :{WHITE}Vállalatunk vagyontárgyait eladásra kínáljuk: járművek, terület és hálózat tulajdonok, bankszámla{}{}Megveszed {COMPANY} vállalatot {CURRENCY_LONG}-ért? @@ -3578,6 +3650,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Meghajto STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Átalakítható: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Minden rakománytípusra STR_PURCHASE_INFO_NONE :Semmi +STR_PURCHASE_INFO_ENGINES_ONLY :Csak mozdonyok STR_PURCHASE_INFO_ALL_BUT :Mindenre, kivéve {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maximális vonóerő: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Hatótávolság: {GOLD}{COMMA} mező @@ -3784,6 +3857,10 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Az autom # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Közelítés a vonat jelenlegi helyzetére. Dupla kattintással a fő nézetben követni fogja a vonatot. Ctrl+kattintással új nézet nyílik a vonat helyzetére. +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Közelítés a közúti jármű jelenlegi helyzetére. Dupla kattintással a fő nézetben követni fogja a járművet. Ctrl+kattintással új nézet nyílik a jármű helyzetére. +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Közelítés a hajó jelenlegi helyzetére. Dupla kattintással a fő nézetben követni fogja a hajót. Ctrl+kattintással új nézet nyílik a hajó helyzetére. +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Közelítés a repülőgép jelenlegi helyzetére. Dupla kattintással a fő nézetben követni fogja a repülőgépet. Ctrl+kattintással új nézet nyílik a repülőgép helyzetére. STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}A járműtelepre küldi a vonatot. Ctrl+kattintással csak javításra STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Garázsba küldi a járművet. Ctrl+kattintással csak javításra @@ -3815,7 +3892,12 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}A közú STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}A hajó adatai STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}A repülőgép adatai +STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Aktuális vonatmozgás - kattints ide a vonat elindításához vagy megállításához. +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Aktuális járműmozgás - kattints ide a jármű elindításához vagy megállításához. +STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Aktuális hajómozgás - kattints ide a hajó elindításához vagy megállításához. +STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Aktuális repülőgépmozgás - kattints ide a repülőgép elindításához vagy megállításához. +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Közelítés a célpontra. Ctrl+kattintással új nézet nyílik a célpont helyére. # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Berakodás / Kirakodás @@ -4288,6 +4370,7 @@ STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :A játékállá STR_GAME_SAVELOAD_ERROR_FILE_NOT_READABLE :A fájl nem olvasható STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :A fájl nem írható STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Adat integritás hiba +STR_GAME_SAVELOAD_ERROR_PATCHPACK :A játékállást a játék módosított változata mentette el STR_GAME_SAVELOAD_NOT_AVAILABLE : STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}A játék olyan verzióban lett elmentve, ami nem támogatja a villamosokat. Az összes villamos el lett távolítva @@ -4368,6 +4451,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... ninc STR_ERROR_CURRENCY_REQUIRED :{WHITE}... {CURRENCY_LONG} kellene hozzá STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Nem törleszthetsz a kölcsönből... STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Nem tudod a banktól kölcsönkapott pénzt továbbadni... +STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Nem tudsz pénzt adományozni a vállalatnak... STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Nem veheted meg a vállalatot... STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Nem építheted ide a székházadat... STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Nem vehetsz 25%-nyi részvényt ebből a vállalatból... @@ -4494,6 +4578,8 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Rossz járműte STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} túl hosszú a csere után STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Nincsenek automatikus járműfelújítási szabályok alkalmazva STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(pénzlimit) +STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}Az új jármű nem tud {STRING.t} szállítani +STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Az új jármű nem alakítható át a(z) {NUM}. utasítás során # Rail construction errors STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Nem lehetséges vágányösszetétel @@ -4817,10 +4903,10 @@ STR_INDUSTRY_NAME_SUGAR_MINE.t :cukorbányát ##id 0x6000 STR_SV_EMPTY : STR_SV_UNNAMED :Névtelen -STR_SV_TRAIN_NAME :Vonat {COMMA} -STR_SV_ROAD_VEHICLE_NAME :Közúti jármű {COMMA} -STR_SV_SHIP_NAME :Hajó {COMMA} -STR_SV_AIRCRAFT_NAME :Repülő {COMMA} +STR_SV_TRAIN_NAME :Vonat #{COMMA} +STR_SV_ROAD_VEHICLE_NAME :Közúti jármű #{COMMA} +STR_SV_SHIP_NAME :Hajó #{COMMA} +STR_SV_AIRCRAFT_NAME :Repülő #{COMMA} STR_SV_STNAME :{STRING} STR_SV_STNAME_NORTH :{STRING} Észak diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 4a91015920..352880f335 100644 --- a/src/lang/icelandic.txt +++ b/src/lang/icelandic.txt @@ -944,6 +944,9 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :annað + + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grunngrafík STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Nota grunngrafíkina STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} týnd{P "" ar} eða ónýt{P "" ar} skrá{P "" r} @@ -1572,6 +1575,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... slep STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Minnið í tölvunni nægir ekki STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Úthlutuðum {BYTES} af skyndiminni fyrir hreyfimyndir mistókst. Skyndiminnið vegna hreyfimynda var minnkað í {BYTES}. Þetta mun minnka reiknigetu OpenTTD. Til minnka minniskröfur getur þú reynt að óvikrja 32bpp grafíkina og/eða minnkað leyfilegt súm +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2080,6 +2085,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Já, sækja grafík STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nei, hætta í OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Stilling gegnsæjis STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Virkja/afvirkja gegnsæji skilta. CTRL+smella til að læsa. @@ -2826,10 +2832,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW} Kaupa STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Múta bæjaryfirvöldum til að auka við fylgi þitt, með hættu á þungri refsingu komist það upp.{} Kostnaður: {CURRENCY_LONG} # Goal window -STR_GOALS_GLOBAL_TITLE :{BLACK}Markmið allra: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Engin - -STR_GOALS_COMPANY_TITLE :{BLACK}Fyrirtækja markmið: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Smelltu á markmiðið til að miðja aðal sjónarhornið á iðnað/bæ/reit. Ctrl+smella opnar nýtt sjónarhorn á iðnað/bæ/reit # Goal question window diff --git a/src/lang/indonesian.txt b/src/lang/indonesian.txt index 9ae23be0a1..2bd84a4e72 100644 --- a/src/lang/indonesian.txt +++ b/src/lang/indonesian.txt @@ -1000,6 +1000,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Ukuran antarmuka STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Pilih ukuran elemen antarmuka yang akan digunakan @@ -1016,6 +1017,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Kali dua STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4 kali + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Set Grafik Dasar STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pilih grafik dasar yang digunakan STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} berkas hilang atau rusak @@ -1782,6 +1785,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... meng STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Kehabisan memori STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Mengalokasikan {BYTES} 'spritecache' gagal. 'Spritecache' dikurangi ke {BYTES}. Ini akan kurangi kinerja OpenTTD. Untuk kurangi kebutuhan memori anda bisa coba matikan grafik 32bpp dan/atau tingkat pembesaran +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2312,6 +2317,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ya, download file gambar STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Tidak, tutup OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Pengaturan Transparasi STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Hidup/matikan transparansi tanda-tanda. CTRL+klik untuk mengunci @@ -3184,13 +3190,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Kolusi STR_GOALS_CAPTION :{WHITE}{COMPANY} Target STR_GOALS_SPECTATOR_CAPTION :{WHITE}Target Global STR_GOALS_SPECTATOR :Target Global -STR_GOALS_GLOBAL_TITLE :{BLACK}Target global: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Tidak ada - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Tak terpakaikan - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Target perusahaan: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klik pada tujuan untuk mengarahkan pandangan pada tengah industri/kota/kotak. Ctrl+klik untuk membuka jendela baru pada lokasi industri/kota/kotak # Goal question window diff --git a/src/lang/irish.txt b/src/lang/irish.txt index 27d783d51a..0592118054 100644 --- a/src/lang/irish.txt +++ b/src/lang/irish.txt @@ -969,6 +969,7 @@ 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_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 @@ -978,6 +979,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Méid cheathrú + + 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} {P ch ch ch gc c}omhad ar iarraidh/truaillithe @@ -1705,6 +1708,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ag t 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ú +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2221,6 +2226,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}Tá graf 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 STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Scoránaigh trédhearcacht do chomharthaí stáisiún. Ctrl+Cliceáil le glasáil. @@ -2998,13 +3004,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Tabhair # 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 diff --git a/src/lang/italian.txt b/src/lang/italian.txt index 3e7b282c79..dc64f52729 100644 --- a/src/lang/italian.txt +++ b/src/lang/italian.txt @@ -1004,6 +1004,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Dimensione interfaccia STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleziona la dimensione deglie elementi dell'interfaccia grafica @@ -1020,6 +1021,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normale STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Doppia STR_GAME_OPTIONS_FONT_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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} file mancant{P e i}/corrott{P o i} @@ -1679,6 +1682,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normale 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_SPRITE_ZOOM_LVL_IN_2X :2x STR_CONFIG_SETTING_TOWN_GROWTH :Velocità di crescita delle città: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Velocità di crescita delle città STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Nessuna @@ -1812,6 +1816,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Memoria esaurita STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Impossibile allocare {BYTES} della cache degli sprite. La cache degli sprite è stata limitata a {BYTES}; questo comporterà una riduzione delle prestazioni di OpenTTD. Per ridurre la quantità di memoria richiesta è possibile disabilitare la grafica a 32 bit e/o i livelli di zoom +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2342,6 +2348,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sì, scarica il pacchetto STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, esci da OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opzioni trasparenza STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Attiva/disattiva la trasparenza dei cartelli. CTRL+clic per bloccare @@ -3220,13 +3227,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Corromp STR_GOALS_CAPTION :{WHITE}Obiettivi della {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Obiettivi globali STR_GOALS_SPECTATOR :Obiettivi globali -STR_GOALS_GLOBAL_TITLE :{BLACK}Obiettivi globali: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nessuno - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Non applicabile - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Obiettivi della compagnia: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Fare clic su un obiettivo per centrare la visuale principale sull'industria, città o riquadro. CTRL+clic mostra l'industria/città/riquadro in una mini visuale # Goal question window diff --git a/src/lang/japanese.txt b/src/lang/japanese.txt index cd17da9721..8d1723e21a 100644 --- a/src/lang/japanese.txt +++ b/src/lang/japanese.txt @@ -970,6 +970,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}画面 STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}ゲーム画面の解像度を選択します STR_GAME_OPTIONS_RESOLUTION_OTHER :その他 + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}インターフェイスのサイズ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}インターフェイス上の単位サイズを指定します @@ -979,6 +980,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :4倍 + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}基本グラフィックセット STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}使用するグラフィックセットを選択します STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}見つからないか破損しているファイルが{NUM}個あります @@ -1246,6 +1249,7 @@ STR_CONFIG_SETTING_DYNAMIC_ENGINES_EXISTING_VEHICLES :{WHITE}この STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :インフラ補修: {STRING} STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT :有効にすると、インフラ設備にも維持費が発生するようになります。維持費はネットワークのサイズに非線形で比例する為、小さい会社よりも大きい会社の方が影響が大きくなります +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :始めの会社の色: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :空港の旧式化撤廃: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :有効にすると、いずれの種類の空港であっても、その開発後であれば永久に建設が可能になります @@ -1330,6 +1334,7 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT :ミニマップ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN :緑 STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_DARK_GREEN :濃緑 STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :青紫 +STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT :スクロール時の動き STR_CONFIG_SETTING_SMOOTH_SCROLLING :画面のスムーズスクロール: {STRING} STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT :ミニマップでの移動や「現在位置に移動」などのコマンドを使用した際にメイン画面がどのように移動するかを設定します。有効にした場合はスムーズにスクロールして移動します。無効の場合は目的地に直接ジャンプします STR_CONFIG_SETTING_MEASURE_TOOLTIP :測定ツールチップ表示: {STRING} @@ -1506,6 +1511,7 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :新聞 STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :カラー新聞の開始年: {STRING} STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :新聞がカラー版になる境目の年を設定します STR_CONFIG_SETTING_STARTING_YEAR :開始年: {STRING} +STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :なだらか STR_CONFIG_SETTING_ALLOW_SHARES :他社株の取引許容: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :有効にすると、ライバル会社の株式を取引できるようになります。この設定を有効にしても、目的の社が設立から丸5年経過していない場合は取引できません STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :区間払いの割合: {STRING} @@ -1617,6 +1623,7 @@ 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) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS :ゲーム内単位(タイル/日) STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :動力単位: {STRING} STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :ゲーム中の動力(仕事率、主に輸送機器の出力表記)をいずれの単位系で表すか決定します @@ -1710,6 +1717,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}ファ STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}メモリー不足 STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}スプライトキャッシュ中、{BYTES}の割り当てに失敗しました。スプライトキャッシュは{BYTES}に減ったため、OpenTTDの処理速度が低下する恐れがあります。必要メモリ量を減らすには32bitグラフィックを無効にするか、最大ズームイン・ズームアウトのレベルを下げてください +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1914,6 +1923,7 @@ STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}ゲー STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}サーバーを更新 STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}サーバー情報を更新します +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}LANで探す STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}サーバーを追加 STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}検索時、常に稼働確認するサーバーのリストに追加します STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}サーバーを開始 @@ -2227,6 +2237,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}はい、グラフィックをダウンロードします STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}いいえ、OpenTTDを終了します + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}透過表示設定 STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}駅名標識の透過表示を切り替えます。{}Ctrl+クリックでロックします @@ -2556,6 +2567,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_TYPE : {BLACK}線路の種類: {LTBLUE}{STRING} +STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}路面軌道の種類: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}線路の制限速度: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}道路の最高速度: {LTBLUE}{VELOCITY} @@ -2657,6 +2669,8 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT} 2002-{STRING} The OpenTTD team # Framerate display window +STR_FRAMERATE_FPS_GOOD :{LTBLUE}{DECIMAL} フレーム/秒 +STR_FRAMERATE_BYTES_GOOD :{LTBLUE}{BYTES} ############ Leave those lines in this order!! ############ End of leave-in-this-order ############ Leave those lines in this order!! @@ -3005,13 +3019,12 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}買収 # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} 目標 STR_GOALS_SPECTATOR_CAPTION :{WHITE}大目標 -STR_GOALS_GLOBAL_TITLE :{BLACK}大目標: +STR_GOALS_COMPANY_BUTTON :{BLACK}会社 +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}会社の目標を見る STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- なし - -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+クリックで新たなビューポートを開いて対象を表示します # Goal question window @@ -3618,6 +3631,7 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}機関 # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}メイン画面を列車に中心します。ダブルクリックで列車をメイン画面で追従します。Ctrl+クリックで列車の場所で新しいビューポートでを開きます。 STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}列車を列車庫へ回送します。Ctrl+クリックすると点検後、再出庫します STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}車両を車庫へ回送します。Ctrl+クリックすると点検後、再出庫します diff --git a/src/lang/korean.txt b/src/lang/korean.txt index 0fcb47ea49..5e96509890 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -1013,6 +1013,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}OpenTTD STR_GAME_OPTIONS_RESOLUTION :{BLACK}화면 해상도 STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}사용할 화면 해상도를 선택하세요 STR_GAME_OPTIONS_RESOLUTION_OTHER :기타 +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}하드웨어 가속 +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}OpenTTD가 하드웨어 가속을 사용하게 하려면 체크하세요. 변경된 설정은 게임을 재시작한 뒤에 적용됩니다. +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}이 설정은 게임을 재시작한 뒤에 적용될 것입니다 STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}인터페이스 크기 STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}인터페이스의 크기를 선택합니다. @@ -1030,6 +1035,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :기본 크기 STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :2배 크기 STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :4배 크기 +STR_GAME_OPTIONS_GRAPHICS :{BLACK}그래픽 + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}화면 주사율 +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}사용할 화면 주사율을 선택하세요 +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :기타 +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}60Hz를 넘는 화면 주사율을 사용하면 성능에 영향이 갈 수도 있습니다. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}기본 그래픽 세트 STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}게임에 사용할 기본 그래픽 세트를 선택하세요 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM}개 파일 손실 @@ -1892,6 +1905,8 @@ STR_CONFIG_SETTING_ZOOM_MIN :최대 확대 STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :게임 화면의 최대 확대 수준을 설정합니다. 화면을 더 크게 확대할 수록 더 많은 메모리가 필요합니다. STR_CONFIG_SETTING_ZOOM_MAX :최대 축소 수준: {STRING} STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :게임 화면의 최대 축소 수준을 설정합니다. 화면을 더 작게 축소할 수록 게임이 더 버벅거리게 될 수도 있습니다. +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :사용할 최고 해상도 그래픽 스프라이트: {STRING} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :그래픽 스프라이트에 사용할 최고 해상도를 제한합니다. 그래픽 스프라이트 해상도를 제한하면 고 해상도 그래픽을 사용할 수 있어도 이를 사용하지 않을 수 있습니다. 이 설정을 사용하면 고해상도 그래픽을 지원하지 않는 GRF 파일을 섞어서 사용할 때 게임 모습을 일관성있게 만들 수 있습다. STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :기본값 @@ -1902,6 +1917,9 @@ STR_CONFIG_SETTING_ZOOM_LVL_OUT_16X :16x STR_CONFIG_SETTING_ZOOM_LVL_OUT_32X :32x STR_CONFIG_SETTING_ZOOM_LVL_OUT_64X :64x STR_CONFIG_SETTING_ZOOM_LVL_OUT_128X :128x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x STR_CONFIG_SETTING_TOWN_GROWTH :도시 성장 속도: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :도시의 성장 속도를 설정합니다. STR_CONFIG_SETTING_TOWN_GROWTH_CARGO_TRANSPORTED :도시의 화물 수송량이 도시 성장 속도에 미치는 영향: {STRING} @@ -2146,6 +2164,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... 기 STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}메모리 초과 STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}{BYTES}의 스프라이트 캐시 할당에 실패하였습니다. 스프라이트 캐시 용량이 {BYTES}로 감소합니다. 이는 OpenTTD의 성능을 저하시킬 것입니다. 메모리 요구사항을 낮추려면 32bpp를 비활성화하거나 화면 확대 설정을 기본값에 가깝게 조절하십시오. +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}비디오 설정 오류 발생... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... 호환되는 GPU를 찾지 못했습니다. 하드웨어 가속이 비활성화됩니다 + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2684,6 +2706,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}예, 그래픽을 다운로드 받습니다 STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}아니요, OpenTTD를 종료합니다 + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}투명 설정 STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}역명판을 보여줄 지 선택합니다. 고정하려면 CTRL+클릭하세요 @@ -3939,26 +3962,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :새 건물에 STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :수송 권한 독점권 구입 STR_LOCAL_AUTHORITY_ACTION_BRIBE :지역 당국에게 뇌물 주기 -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}더 많은 승객과 화물을 유치하기 위해 소규모의 광고 캠페인을 시작합니다.{}가격: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}더 많은 승객과 화물을 유치하기 위해 중간 규모의 광고 캠페인을 시작합니다.{}가격: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}더 많은 승객과 화물을 유치하기 위해 대규모의 광고 캠페인을 시작합니다.{}가격: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}도시 도로망 보수공사를 시행합니다. 앞으로 6개월간 극심한 도로 혼잡을 일으킵니다.{}가격: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}당신의 회사를 대표하는 '명예의 동상'을 건설합니다.{}가격: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}도시 상업 건물의 건설에 투자합니다.{}가격: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1년간의 수송 권한 독점권을 구입합니다. 도시 당국은 오직 당신 회사의 역에만 승객과 화물을 허용할 것입니다.{}가격: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}더 많은 승객과 화물을 유치하기 위해 소규모의 광고 캠페인을 시작합니다.{}도시 중심 주위의 좁은 반경 안에 있는 역 등급을 일시적으로 올려줍니다.{}가격: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}더 많은 승객과 화물을 유치하기 위해 중간 규모의 광고 캠페인을 시작합니다.{}도시 중심 주위의 적당한 반경 안에 있는 역 등급을 일시적으로 올려줍니다.{}가격: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}더 많은 승객과 화물을 유치하기 위해 대규모의 광고 캠페인을 시작합니다.{}도시 중심 주위의 넓은 반경 안에 있는 역 등급을 일시적으로 올려줍니다.{}가격: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}도시 도로망 보수공사를 시행합니다.{}앞으로 6개월간 극심한 도로 혼잡을 일으킵니다.{}가격: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}당신의 회사를 대표하는 '명예의 동상'을 건설합니다.{}이 도시에 있는 역 등급을 영구적으로 올려줍니다.{}가격: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}도시 상업 건물의 건설에 투자합니다.{}도시의 성장을 일시적으로 빠르게 만들어줍니다.{}가격: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}1년 간 수송 권한 독점권을 구입합니다.{}도시 당국은 오직 당신 회사의 역에만 승객과 화물을 실을 것입니다.{}가격: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}성취도를 올리기 위해 처벌을 감수하고 지역 당국에 뇌물을 줍니다.{}가격: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} 목표 STR_GOALS_SPECTATOR_CAPTION :{WHITE}전체 목표 STR_GOALS_SPECTATOR :전체 목표 -STR_GOALS_GLOBAL_TITLE :{BLACK}전체 목표: +STR_GOALS_GLOBAL_BUTTON :{BLACK}전체 +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}전체 목표를 보여줍니다 +STR_GOALS_COMPANY_BUTTON :{BLACK}회사 +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}회사 목표 보기 STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- 없음 - -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+클릭하면 산업시설/마을/칸의 위치를 기준으로 새로운 외부 화면을 엽니다 # Goal question window @@ -4475,6 +4499,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}전원 STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}개조가능 화물: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :모든 화물 STR_PURCHASE_INFO_NONE :없음 +STR_PURCHASE_INFO_ENGINES_ONLY :기관차만 STR_PURCHASE_INFO_ALL_BUT :{CARGO_LIST} 이외의 모든 화물 STR_PURCHASE_INFO_MAX_TE :{BLACK}최고 견인력: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}항속거리: {GOLD}{COMMA}칸 diff --git a/src/lang/latin.txt b/src/lang/latin.txt index 28cb635e75..7b8da25f97 100644 --- a/src/lang/latin.txt +++ b/src/lang/latin.txt @@ -1166,6 +1166,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resoluti 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 @@ -1180,6 +1181,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Simplex STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Duplex STR_GAME_OPTIONS_FONT_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} @@ -1922,6 +1925,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... negl 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 +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2451,6 +2456,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD 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) @@ -3256,13 +3262,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Largiri STR_GOALS_CAPTION :{WHITE}{COMPANY} Proposita STR_GOALS_SPECTATOR_CAPTION :{WHITE}Proposita Universalia STR_GOALS_SPECTATOR :Proposita universalia -STR_GOALS_GLOBAL_TITLE :{BLACK}Proposita universalia: 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}Proposita Societatis: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Preme in propositum ut conspectus moveatur supra industriam/oppidum/tegulam. Ctrl+Preme ut nova fenestra conspectus aperiatur supra industriam/oppidum/tegulam # Goal question window diff --git a/src/lang/latvian.txt b/src/lang/latvian.txt index 58ea9fa433..ad804c009a 100644 --- a/src/lang/latvian.txt +++ b/src/lang/latvian.txt @@ -1004,6 +1004,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Lietotāja saskarnes lielums STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Lietotāja saskarnes elementu lieluma izvēle @@ -1020,6 +1021,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normāls STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Divkāršs izmērs STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Četrkāršs izmērs + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Pamata grafikas kopa STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Atlasīt lietošanai pamata grafikas kopu STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} iztrūkstošs/bojāts fail{P s i ""} @@ -1792,6 +1795,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Nepietiek atmiņas STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Neizdevās piešķirt {BYTES} spraitu kešam. Spraitu kešs tika samazināts uz {BYTES}. Tas samazinās OpenTTD veiktspēju. Lai samazinātu prasības pret atmiņu, varat mēģināt izslēgt 32bpp grafiku un/vai tuvināšanas līmeņus +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2322,6 +2327,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Jā, lejupielādēt grafiku STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nē, iziet no OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Caurspīdības opcijas STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Pārslēgt zīmju caurspīdību. Ctrl+klikšķis lai slēgtu @@ -3198,13 +3204,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Piekuku STR_GOALS_CAPTION :{WHITE}{COMPANY} mērķi STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globālie mērķi STR_GOALS_SPECTATOR :Globālie mērķi -STR_GOALS_GLOBAL_TITLE :{BLACK}Globālie mērķi: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nav - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nav attiecināms - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Uzņēmuma mērķi: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikšķināt uz mērķa, lai centrētu galveno skatu uz ražotni/pilsētu/lauciņu. Ctrl+klikšķis atver jaunu skatvietu uz ražotni/pilsētu/lauciņu # Goal question window diff --git a/src/lang/lithuanian.txt b/src/lang/lithuanian.txt index 83f95772c7..cb6d93a7fd 100644 --- a/src/lang/lithuanian.txt +++ b/src/lang/lithuanian.txt @@ -382,6 +382,7 @@ STR_COLOUR_ORANGE :Oranžinė STR_COLOUR_BROWN :Ruda STR_COLOUR_GREY :Pilka STR_COLOUR_WHITE :Balta +STR_COLOUR_RANDOM :Atsitiktinė STR_COLOUR_DEFAULT :Numatytas # Units used in OpenTTD @@ -428,6 +429,7 @@ STR_TOOLTIP_SORT_CRITERIA :{BLACK}Rikiavim STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Filtravimo raktas STR_BUTTON_SORT_BY :{BLACK}Rikiuoti pagal STR_BUTTON_RENAME :{BLACK}Pervadinti +STR_BUTTON_CATCHMENT :{BLACK}Aprėptis 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ą @@ -456,6 +458,7 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Įjungus STR_BUTTON_DEFAULT :{BLACK}Numatytas STR_BUTTON_CANCEL :{BLACK}Atšaukti STR_BUTTON_OK :{BLACK}Gerai +STR_WARNING_PASSWORD_SECURITY :{YELLOW}Perspėjimas: serverio administratoriai gali pamatyti tekstą, kurį čia įvesite # On screen keyboard window STR_OSK_KEYBOARD_LAYOUT :`1234567890-=\qwertyuiop[]asdfghjkl;' zxcvbnm,./ . @@ -504,7 +507,11 @@ STR_SORT_BY_CARGO_CAPACITY :vagono talpą STR_SORT_BY_RANGE :atstumą STR_SORT_BY_POPULATION :populiaciją STR_SORT_BY_RATING :reitingą -STR_SORT_BY_NUM_VEHICLES :Transporto priemonių skaičių +STR_SORT_BY_NUM_VEHICLES :transporto priemonių skaičių +STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :bendrąjį pernykštį pelną +STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :bendrąjį šiųmetį pelną +STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :vidutinį pernykšį pelną +STR_SORT_BY_AVERAGE_PROFIT_THIS_YEAR :vidutinį šiųmetį pelną # Group by options for vehicle list STR_GROUP_BY_NONE :(tuščia) @@ -524,7 +531,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_STORY_BOOK :{BLACK}Rodyti s STR_TOOLBAR_TOOLTIP_DISPLAY_GOALS_LIST :{BLACK}Rodyti tikslų sąrašą STR_TOOLBAR_TOOLTIP_DISPLAY_GRAPHS :{BLACK}Rodyti diagramas STR_TOOLBAR_TOOLTIP_DISPLAY_COMPANY_LEAGUE :{BLACK}Rodyti kompanijų įvertinimus -STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Rodyti pramonės įmonių sąrašą arba finansuoti naują įmonę +STR_TOOLBAR_TOOLTIP_FUND_CONSTRUCTION_OF_NEW :{BLACK}Rodyti pramonės įmonių sąrašą, gamybos grandines arba įsteigti naują pramonės įmonę STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_TRAINS :{BLACK}Rodyti kompanijos traukinių, suskirstytų grupėmis, sąrašą. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atvertas langas su paprastu sąrašu STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_ROAD_VEHICLES :{BLACK}Rodyti kompanijos automobilių, suskirstytų grupėmis, sąrašą. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atvertas langas su paprastu sąrašu STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_SHIPS :{BLACK}Rodyti kompanijos laivų, suskirstytų grupėmis, sąrašą. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atvertas langas su paprastu sąrašu @@ -532,7 +539,7 @@ STR_TOOLBAR_TOOLTIP_DISPLAY_LIST_OF_COMPANY_AIRCRAFT :{BLACK}Rodyti k STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN :{BLACK}Priartinti vaizdą STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT :{BLACK}Nutolinti vaizdą STR_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Tiesti geležinkelius -STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Tiesti kelius ir tramvajaus linijas +STR_TOOLBAR_TOOLTIP_BUILD_ROADS :{BLACK}Tiesti kelius STR_TOOLBAR_TOOLTIP_BUILD_TRAMWAYS :{BLACK}Tiesti tramvajaus linijas STR_TOOLBAR_TOOLTIP_BUILD_SHIP_DOCKS :{BLACK}Tiesti vandens kelius STR_TOOLBAR_TOOLTIP_BUILD_AIRPORTS :{BLACK}Statyti oro uostus @@ -627,7 +634,7 @@ STR_GRAPH_MENU_HIGHSCORE :Nugalėtojų le ############ range for industry menu starts STR_INDUSTRY_MENU_INDUSTRY_DIRECTORY :Pramonės katalogas STR_INDUSTRY_MENU_INDUSTRY_CHAIN :Gamybos grandinės -STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Finansuoti naują pramonės įmonę +STR_INDUSTRY_MENU_FUND_NEW_INDUSTRY :Įsteigti naują pramonės įmonę ############ range ends here ############ range for railway construction menu starts @@ -663,6 +670,7 @@ STR_TOOLBAR_SOUND_MUSIC :Garsas/muzika ############ range for message menu starts STR_NEWS_MENU_LAST_MESSAGE_NEWS_REPORT :Paskutinė žinutė/naujiena STR_NEWS_MENU_MESSAGE_HISTORY_MENU :Žinučių istorija +STR_NEWS_MENU_DELETE_ALL_MESSAGES :Pašalinti visas žinutes ############ range ends here ############ range for about menu starts @@ -940,6 +948,7 @@ STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLA 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_RAINFOREST :{TINY_FONT}{BLACK}Drėgnasis miškas STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Laukai STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Medžiai STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Uolos @@ -1017,6 +1026,7 @@ STR_NEWS_MERGER_TAKEOVER_TITLE :{BIG_FONT}{BLAC STR_PRESIDENT_NAME_MANAGER :{BLACK}{PRESIDENT_NAME}{}(Valdytojas) STR_NEWS_NEW_TOWN :{BLACK}{BIG_FONT}{STRING} parėmė naujo miesto statybą {TOWN}! +STR_NEWS_NEW_TOWN_UNSPONSORED :{BLACK}{BIG_FONT}Įkurtas naujas miestas, {TOWN}! STR_NEWS_INDUSTRY_CONSTRUCTION :{BIG_FONT}{BLACK}Statoma{G s ""} nauja{G s ""} {STRING} netoli miesto {TOWN}! STR_NEWS_INDUSTRY_PLANTED :{BIG_FONT}{BLACK}Sodinama{G s ""} nauja{G s ""} {STRING} netoli miesto {TOWN}! @@ -1191,21 +1201,33 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ekrano r STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Pasirinkite ekrano raišką STR_GAME_OPTIONS_RESOLUTION_OTHER :Kita +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Aparatinis spartinimas +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Pažymėkite šį langelį, jei norite, kad OpenTTD taikytų aparatinį spartinimą. Kad nuostata įsigaliotų, reiks perkrauti OpenTTD +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Kad pakeitimai įsigaliotų, reikia paleisti OpenTTD iš naujo + 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_AUTO :(aptikti automatiškai) 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_GUI_ZOOM_DROPDOWN_4X_ZOOM :Keturgubas STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Šrifto dydis STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Pasirinkite vartotojo sąsajos šrifto dydį STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(aptikti automatiškai) STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normalus -STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvigubas dydis -STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Keturgubas dydis +STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvigubas +STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Keturgubas + +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafika + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Ekrano kadrų dažnis +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Pasirinkite pageidaujamą ekrano kadrų dažnį +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :Kitas +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Didesnis nei 60Hz kadrų dažnis gali sulėtinti žaidimą. STR_GAME_OPTIONS_BASE_GRF :{BLACK}Bazinis grafikos rinkinys STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Pasirinkti naudojimui bazinę grafikos rinkinį @@ -1325,14 +1347,14 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :kompanijos (įr STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorija: STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tipas: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Rodyti tik tam tikros rūšies nuostatas -STR_CONFIG_SETTING_RESTRICT_BASIC :Pagrindines nuostatas -STR_CONFIG_SETTING_RESTRICT_ADVANCED :Sudėtingesnes nuostatas -STR_CONFIG_SETTING_RESTRICT_ALL :visas nuostatas -STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :nuostatas, kurių reikšmės skiriasi nuo numatytųjų -STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :nuostatas, kurių reikšmės skiriasi nuo naujai pradedamo žaidimo nuostatų +STR_CONFIG_SETTING_RESTRICT_BASIC :Pagrindinės nuostatos +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Sudėtingesnės nuostatos +STR_CONFIG_SETTING_RESTRICT_ALL :Visos nuostatos +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Nuostatos, kurių reikšmės skiriasi nuo numatytųjų +STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Nuostatos, kurių reikšmės skiriasi nuo naujai pradedamo žaidimo nuostatų STR_CONFIG_SETTING_TYPE_DROPDOWN_HELPTEXT :{BLACK}Rodyti tik tam tikro tipo nuostatas -STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Visas nuostatas +STR_CONFIG_SETTING_TYPE_DROPDOWN_ALL :Visos nuostatos STR_CONFIG_SETTING_TYPE_DROPDOWN_CLIENT :Programos (galioja visiems žaidimams) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_MENU :Žaidimo (įrašoma pradedant naują žaidimą) STR_CONFIG_SETTING_TYPE_DROPDOWN_GAME_INGAME :Žaidimo (įrašoma kiekvieną kartą išsaugant žaidimą. Galioja tik aktyviam žaidimui) @@ -1476,6 +1498,7 @@ STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE :Infrastruktūro 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 STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR :Kompanijos pradinė spalva: {STRING} +STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT :Pasirinkite pradinę kompanijos spalvą STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS :Oro uostai niekada nepasensta: {STRING} STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT :Kartą atsiradę, oro uostų tipai niekada nebepasens ir galimybė juos statyti niekuomet nebus pašalinta @@ -1592,7 +1615,8 @@ STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND :Command+Click STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_CONTROL :Ctrl+Click STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_OFF :Išjungta -STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Uždaro langą dešiniuoju pelės klavišu spustelėdami jo vidų. Išjungia patarimą dešiniuoju pelės mygtuku spustelėjimu! +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE :Užverti langą dešiniuoju pelės klavišo spustelėjimu: {STRING} +STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT :Užveria langą dešiniuoju pelės klavišu spustelėjus ant jo. Išjungia patarimą dešiniuoju pelės klavišu spustelėjimu! STR_CONFIG_SETTING_AUTOSAVE :Automatinis saugojimas: {STRING} STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT :Laiko tarpsnis tarp automatinių žaidimo išsaugojimų @@ -1632,6 +1656,12 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Palikti statymo STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Laikyti statybų įrankius tiltams, tuneliams ir pnš. atidarytus po panaudojimo STR_CONFIG_SETTING_EXPENSES_LAYOUT :Grupuoti išlaidas finansinės ataskaitos lange: {STRING} STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Nustatyti kompanijos išlaidų lango planą +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatiškai išmontuoti semaforus, tiesiant naujus bėgius: {STRING} +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Semaforai bus automatiškai išmontuoti, jei trukdys tiesti naujus bėgius. Atkreipkite dėmesį, tokia veiksena gali lemti traukinių susidūrimą. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Pagreitinto žaidimo spartos riba: {STRING} +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Didžiausias galimas žaidimo modeliavimo greitis, įgalinus pagreitinto žaidimo veikseną. Parinkus 0, riba taikoma nebus, tad modeliavimo greitis priklausys tik nuo jūsų kompiuterio spartos. Vertės, mažesnės už 100, žaidimą sulėtins. Reali pasiekiama modeliavimo sparta priklauso nuo jūsų kompiuterio spartos bei nuo pačio žaidimo sudėtingumo. +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}%, lyginant su normalia sparta +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Netaikyti (kiek tik leis kompiuteris) STR_CONFIG_SETTING_SOUND_TICKER :Trumpoji žinutė: {STRING} STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Skleisti garsus gavus trumpają žinutę @@ -1680,6 +1710,9 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Leisti DI Inter 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 :Didžiausias skaičius skaičiavimų žingsnių, kuriuos scenarijus vykdo viename ėjime +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Didžiausias skriptui leistinas atminties suvartojimas: {STRING} +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Jei skriptas sunaudos nurodytą kiekį operatyviosios atminties, jis bus priverstinai išjungtas. Didesniuose žemėlapiuose skriptams reikia daugiau atminties +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB 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ų @@ -1738,18 +1771,26 @@ STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Pilnas STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Spalvotos naujienos atsiranda: {STRING} metais 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_ENDING_YEAR :Šlovės lentos metai: {STRING} +STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Metai, kuomet kompanija bus įvertinta ir patalpinta šlovės lentoje. Šių metų pabaigoje bus parodyta šlovės lenta, bet žaisti bus galima ir toliau, nors taškai ir nebebus skaičiuojami.{}Jei šie metai bus ankstesni, nei žaidimo pradžios metai, tuomet šlovės lenta nebus parodyta niekada. +STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Niekada +STR_CONFIG_SETTING_ECONOMY_TYPE :Ekonomika: {STRING} +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :Tolygioje ekonomikoje gamyklų produkcija keičiasi mažesniais ir dažnesniais žingsniais. Fiksuotoje ekonomikoje jokie pokyčiai nevyksta. Nuostata gali neveikti pramonės įmonėms, įdiegtoms per plėtinius. STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Originali +STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Tolygi STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Fiksuota 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_MIN_YEARS_FOR_SHARES :Mažiausias kompanijos amžius metais, kuomet bus leista prekiauti jos akcijomis: {STRING} +STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Kompanijos akcijomis leidžiama prekiauti tik jai sulaukus tam tikro amžiaus STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Grynojo pelno dalis, mokama tiekėjų sistemoms: {STRING} STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Pelno dalis, tenkanti tarpinėms tiekėjų sistemoms STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Velkant kopijuoti šviesoforus kas: {STRING} STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Atstumas tarp signalų, statomų vilkimo būdu STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} langel{P 0 į ius ių} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Velkant išlaikyti vienodą atstumą tarp signalų: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Nustato signalų statymo velkant ir laikant nuspaustą Ctrl klavišą, ypatybes. Išjungus šia nuostatą, signalai bus statomi abipus tunelio ar tilto (kad nesusidarytų ilgos atkarpos be signalų). Įjungus šią nuostatą, signalai bus pastatyti tiksliai vienodais atstumais (nebūtinai prie pat tunelio ar tilto) +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Nustato signalų statymo velkant ir laikant nuspaustą Ctrl klavišą, ypatybes. Išjungus šią nuostatą, signalai bus statomi abipus tunelio ar tilto (kad nesusidarytų ilgos atkarpos be signalų). Įjungus šią nuostatą, signalai bus pastatyti tiksliai vienodais atstumais (nebūtinai prie pat tunelio ar tilto) STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE :Automatiškai statyti semaforus iki: {STRING} STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT :Metai, kuriais elektriniai signalai pakeičia semaforus (abiejų rūšių signalai veikia visiškai vienodai, tik skirtingai atrodo) STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Įgalinti signalų pasirinkimo langą: {STRING} @@ -1783,9 +1824,17 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Įjungiant šį STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN :Uždrausta STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED :Leista STR_CONFIG_SETTING_TOWN_FOUNDING_ALLOWED_CUSTOM_LAYOUT :Leista, pasirinktinis miestų išdėstymas +STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Miesto krovinių generavimo algoritmas: {STRING} +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Mieste generuojamų krovinių kiekis priklauso nuo miesto dydžio.{}Kvadratinis algoritmas: dvigubai paaugęs miestas generuos keturis kartus daugiau krovinių (keleivių ir pašto maišų).{}Tiesinis algoritmas: dvigubai paaugęs miestas generuos dukart daugiau krovinių (keleivių ir pašto maišų) +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Kvadratinis (originalus) +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Tiesinis STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Savaiminis medžių atsiradimas: {STRING} STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Savaiminio medžių išdygimo nuostatos. Atkreipkite dėmesį, kad šios nuostatos gali paveikti kai kurių pramonės įmonių, pvz., lentpjūvių, darbą +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Auga, bet nesidaugina {RED}(nebeveiks lentpjūvės) +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Auga, bet dauginasi tik drėgnuosiuose miškuose +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Auga ir dauginasi +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Neauga ir nesidaugina {RED}(nebeveiks lentpjūvės) STR_CONFIG_SETTING_TOOLBAR_POS :Pagrindinės įrankių juostos pozicija: {STRING} STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Pagrindinės įrankių lentelės horizontali padėtis ekrano viršuje @@ -1809,6 +1858,7 @@ STR_CONFIG_SETTING_ZOOM_LVL_NORMAL :Normalus STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X :2 kartai STR_CONFIG_SETTING_ZOOM_LVL_OUT_4X :4 kartai STR_CONFIG_SETTING_ZOOM_LVL_OUT_8X :8 kartai +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_TOWN_GROWTH :Miestų augimo greitis: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Miestų augimo greitis STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Joks @@ -1955,6 +2005,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... nera STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Pritrūko atminties STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Nepavyko rezervuoti sprukliams {BYTES} laikinosios atminties. Spruklių laikinoji atmintis sumažinta iki {BYTES}, o tai pablogins OpenTTD veikimo spartą. Galite pamėginti išjungti 32-ų bitų grafiką ir/arba sumažinti priartinimo lygį — tai turėtų sumažinti atminties poreikį. +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Vaizdo nuostatų klaida... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... nepavyko rasti tinkamos vaizdo plokštės. Aparatinis spartinimas buvo išjungtas + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1998,6 +2052,7 @@ STR_INTRO_TRANSLATION :{BLACK}Šiam ve # Quit window STR_QUIT_CAPTION :{WHITE}Baigti +STR_QUIT_ARE_YOU_SURE_YOU_WANT_TO_EXIT_OPENTTD :{YELLOW}Ar jūs tikrai norite baigti žaidimą ir užverti programą? STR_QUIT_YES :{BLACK}Taip STR_QUIT_NO :{BLACK}Ne @@ -2009,8 +2064,9 @@ STR_ABANDON_SCENARIO_QUERY :{YELLOW}Ar tikr # Cheat window STR_CHEATS :{WHITE}Sukčiavimai STR_CHEATS_TOOLTIP :{BLACK}Laukeliai rodo ar jus naudojote šį triuką prieš tai +STR_CHEATS_NOTE :{BLACK}Dėmesio: jei sukčiausite, tokia informacija bus įrašyta į žaidimo failą STR_CHEAT_MONEY :{LTBLUE}Padauginti pinigų {CURRENCY_LONG} -STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Žaidiama už kompaniją: {ORANGE}{COMMA} +STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Žaidžiama už kompaniją: {ORANGE}{COMMA} 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} @@ -2025,12 +2081,13 @@ STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Pakeisti STR_CHEAT_SETUP_PROD :{LTBLUE}Leisti keisti produkcijos vertes: {ORANGE}{STRING} # Livery window +STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Kompanijos spalvos -STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Rodyti pagrinidines spalvų parinktis -STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Rodyti traukiniš spalvas +STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Rodyti pagrindines spalvų parinktis +STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Rodyti traukinių spalvas STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Rodyti mašinų spalvas STR_LIVERY_SHIP_TOOLTIP :{BLACK}Rodyti laivų spalvas -STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Rodyti lėktuvų parinktas spalvas +STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Rodyti lėktuvų spalvas STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Pasirinkite pirminę spalvą pasirinktai schemai. Ctrl+Click nustatys šitą spalvą kiekvienai schemai STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Pasirinkite antrinę spalvą pasirinktai schemai. Ctrl+Click nustatys šitą spalvą kiekvienai schemai STR_LIVERY_PANEL_TOOLTIP :{BLACK}Pasirinkite spalvą pažymėjimui arba multi-spalvas CTRL+click. Paspauskite spalvos naudojimui @@ -2159,6 +2216,9 @@ STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Jungtis STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Atnaujinti serverį STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Atnaujinti serverio informaciją +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :{BLACK}Ieškoti internete +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK}Ieškoti viešai prieinamų serverių internete +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Ieškoti vietiniame tinkle STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Ieškoti serverių vietiniame tinkle STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Pridėti serverį STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Prideda serverį į sąrašą, kuris tikrinamas ieškant žaidimų @@ -2399,6 +2459,7 @@ STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} pr STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} pradėjo naują kompaniją (#{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} paliko žaidimą ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} pasikeitė vardą į {STRING} +STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} persiuntė {2:CURRENCY_LONG} žaidėjui {1:STRING} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}Serveris užsidarė STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Serveris persikrauna...{}Prašau palaukti... STR_NETWORK_MESSAGE_KICKED :*** {STRING} buvo išmestas. Priežastis: ({STRING}) @@ -2476,6 +2537,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Taip, parsisiųsti grafikos rinkinį STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ne, išeiti iš OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Skaidrumo nuostatos STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Perjungti ženklų skaidrumą. Spragtelėjus laikant nuspaustą Ctrl klavišą, nuostata bus užrakinta @@ -2621,6 +2683,7 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Statyti STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Aktyvinti automobilių kelių ir stotelių šalinimo veikseną STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Aktyvinti tramvajaus bėgių ir stotelių šalinimo veikseną +STR_ROAD_NAME_ROAD :Keliai STR_ROAD_NAME_TRAM :Tramvajus # Road depot construction window @@ -2763,14 +2826,20 @@ STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}3x3 tink STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Atsitiktinai # Fund new industry window -STR_FUND_INDUSTRY_CAPTION :{WHITE}Finansuoti naują pramonės įmonę -STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Pasirink norimą industriją iš sąrašo -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :Daug atsitiktinių pramonės įmonių -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Sukuria pramonės įmones atsitiktinėse žemėlapio vietose +STR_FUND_INDUSTRY_CAPTION :{WHITE}Pramonės įmonių steigimas +STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Pasirinkite norimą įmonę iš sąrašo +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Įsteigti daug atsitiktinių įmonių +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Įsteigia pramonės įmones atsitiktinėse žemėlapio vietose +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Atsitiktinės įmonės +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}Ar tikrai norite įsteigti daug atsitiktinių pramonės įmonių, išbarstytų po visą žemėlapį? STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Kaina: {YELLOW}{CURRENCY_LONG} STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Perspektyva -STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Statyti -STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Finansuoti +STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Steigti +STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Steigti +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Panaikinti visas įmones +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Panaikinti visas žemėlapyje esančias pramonės įmones +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Panaikinti įmones +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}Ar tikrai norite panaikinti visas žemėlapyje esančias pramonės įmones? # Industry cargoes window STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Gamybos grandinė {STRING.kam} @@ -2791,6 +2860,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Pasirink # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Informacija apie žemės plotą +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centruoti šį žemės lopinėlį pagrindiniame lange. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atidarytas naujas peržiūros langas su vaizdu į šį lopinėlį STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Išvalymo kaina: {LTBLUE}NĖRA STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Išvalymo kaina: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}pajamos ištrynus: {LTBLUE}{CURRENCY_LONG} @@ -2811,7 +2881,9 @@ STR_LAND_AREA_INFORMATION_AIRPORTTILE_NAME :{BLACK}Oro uost 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_TYPE :{BLACK}Bėgių tipas: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Kelio tipas: {LTBLUE}{STRING} +STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Tramvajaus tipas: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Geležinkelių greičio limitas: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Kelio greičio limitas: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Tramvajaus greičio limitas: {LTBLUE}{VELOCITY} @@ -2914,7 +2986,7 @@ STR_ABOUT_VERSION :{BLACK}OpenTTD STR_ABOUT_COPYRIGHT_OPENTTD :{BLACK}OpenTTD {COPYRIGHT}2002-{STRING} OpenTTD komanda # Framerate display window -STR_FRAMERATE_CAPTION :Kadrų dažnis +STR_FRAMERATE_CAPTION :Kadrų dažniai STR_FRAMERATE_CAPTION_SMALL :{STRING}{WHITE} ({DECIMAL}x) STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Modeliavimo sparta: {STRING} STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Pagrindinio ciklo vykdymo sparta. @@ -2997,6 +3069,7 @@ STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}Plėtiniai: {WHITE}{STRING} STR_SAVELOAD_FILTER_TITLE :{BLACK} Filtro eilutė: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Perrašyti bylą +STR_SAVELOAD_DIRECTORY :{STRING} (Aplankas) STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Viršaplankis) STR_SAVELOAD_OSKTITLE :{BLACK}Įveskite išsaugomo žaidimo vardą @@ -3114,6 +3187,8 @@ STR_NEWGRF_SETTINGS_VERSION :{BLACK}Versija: STR_NEWGRF_SETTINGS_MIN_VERSION :{BLACK}Anksčiausia suderinama versija: {SILVER}{NUM} STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5 suma: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paletė: {SILVER}{STRING} +STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Numatytoji (D) / 32 bpp +STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Pasenusi (W) STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Nuostatos: {SILVER}{STRING} STR_NEWGRF_SETTINGS_NO_INFO :{BLACK}Informacijos nėra @@ -3250,6 +3325,7 @@ STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Įjungti # Sign window STR_EDIT_SIGN_CAPTION :{WHITE}Redaguoti ženklo tekstą +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centruoti ženklą pagrindiniame lange. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atidarytas naujas peržiūros langas su vaizdu į šį ženklą. STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Eiti prie kito ženklo STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Eiti prie ankstesnio ženklo @@ -3291,7 +3367,8 @@ STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Pervardinti mie # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} vietinė valdžia -STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Rodyti zoną vietos valdžios ribose +STR_LOCAL_AUTHORITY_ZONE :Įtakos teritorija +STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Rodyti šio miesto įtakos teritoriją STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Transporto kompanijų reitingai: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Galimi veiksmai: @@ -3308,33 +3385,30 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Finansuoti nauj STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Išsipirkti isškirtines pervežimo teises STR_LOCAL_AUTHORITY_ACTION_BRIBE :Papirkti vietinę valdžią -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Pradėti nedidelę reklaminę kampaniją, kuri gali pritraukti keleivius ir įmones naudotis Jūsų paslaugomis.{} Kaina: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Pradėti vidutinę reklaminę kampaniją, kuri gali pritraukti keleivius ir įmones naudotis Jūsų paslaugomis.{}Kaina: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Pradėti stambią reklaminę kampaniją, kuri gali pritraukti keleivius ir įmones naudotis Jūsų paslaugomis.{}Kaina: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Finansuoti miesto kelių rekonstrukciją. Susisiekimas keliais laikinai (iki 6 men.) sutriks.{}Kaina: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Pastatyti statulą kompanijos garbei.{}Kaina: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Finansuoti naujų komercinių pastatų statybą mieste.{}Kaina: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Pirkti isškirtines pervežimo teises mieste 1 metams. Miesto valdžia keleivius ir krovinius leis pervežti tik tavo įmonei.{}Kaina: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Pradėti nedidelę reklaminę kampaniją, kuri gali pritraukti daugiau keleivių ar krovinių į jūsų transporto maršrutus.{}Laikinai pakelia stotelių reitingus nedidelėje teritorijoje aplink miesto centrą.{}Kaina: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Pradėti vidutinio dydžio reklaminę kampaniją, kuri gali pritraukti daugiau keleivių ar krovinių į jūsų transporto maršrutus.{}Laikinai pakelia stotelių reitingus vidutinio dydžio teritorijoje aplink miesto centrą.{}Kaina: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Pradėti stambią reklaminę kampaniją, kuri gali pritraukti daugiau keleivių ar krovinių į jūsų transporto maršrutus.{}Laikinai pakelia stotelių reitingus didelėje teritorijoje aplink miesto centrą.{}Kaina: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Finansuoti miesto kelių rekonstrukciją.{}Susisiekimas keliais laikinai (iki 6 mėn.) sutriks.{}Kaina: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Pastatyti statulą kompanijos garbei.{}Visam laikui pakelia jūsų įmonės stotelių reitingus.{}Kaina: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Finansuoti naujų komercinių pastatų statybą mieste.{}Laikinai paskatina miesto augimą.{}Kaina: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Pirkti isškirtines pervežimo teises mieste vieneriems metams. Miesto valdžia neleis vežti keleivių ar krovinių jūsų konkurentams.{}Kaina: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Paperkant vietinę valdžią pakelti Jūsų reitingą, rizikuojant būti sunkiai nubaustam.{}Kaina: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Tikslai STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globalūs tikslai STR_GOALS_SPECTATOR :Visuotiniai tikslai -STR_GOALS_GLOBAL_TITLE :{BLACK}Visuotiniai tikslai: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nieko - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Netaikomas - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Kompanijos tikslai: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Paspaudus ant nurodymo bus rodoma gamykla/miestas/vieta. Paspaudus laikant VALD (CTRL) klavišą bus atidarytas naujas langas su gamykla/miestu/vieta # Goal question window -STR_GOAL_QUESTION_CAPTION_QUESTION :Klausimas -STR_GOAL_QUESTION_CAPTION_INFORMATION :Informacija -STR_GOAL_QUESTION_CAPTION_WARNING :Perspėjimas -STR_GOAL_QUESTION_CAPTION_ERROR :Klaida +STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Klausimas +STR_GOAL_QUESTION_CAPTION_INFORMATION :{BLACK}Informacija +STR_GOAL_QUESTION_CAPTION_WARNING :{BLACK}Perspėjimas +STR_GOAL_QUESTION_CAPTION_ERROR :{YELLOW}Klaida ############ Start of Goal Question button list STR_GOAL_QUESTION_BUTTON_CANCEL :Atšaukti @@ -3550,6 +3624,7 @@ STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}{COMPANY STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Bėgių dalys: STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Signalai STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Kelio dalys: +STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Tramvajaus dalys: STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Vandens langeliai: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Kanalai STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Stotys: @@ -3580,8 +3655,11 @@ STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centruot STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Gamybos sparta: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}Pramonės įmonė paskelbė apie jos neišvengiamą uždarymą! +STR_INDUSTRY_VIEW_REQUIRES_N_CARGO :{BLACK}Priima: {YELLOW}{STRING}{STRING} +STR_INDUSTRY_VIEW_PRODUCES_N_CARGO :{BLACK}Gamina: {YELLOW}{STRING}{STRING} STR_INDUSTRY_VIEW_CARGO_LIST_EXTENSION :, {STRING}{STRING} +STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Priima: STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} STR_CONFIG_GAME_PRODUCTION :{WHITE}Keisti gamybos apimtį (8 daugiklis, iki 2040) @@ -3916,6 +3994,10 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Pakeitim # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centruoti traukinį pagrindiniame lange. Spustelėjus dukart, pagrindinis langas seks traukinį paskui. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atidarytas naujas peržiūros langas su vaizdu į šį traukinį +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centruoti automobilį pagrindiniame lange. Spustelėjus dukart, pagrindinis langas seks automobilį paskui. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atidarytas naujas peržiūros langas su vaizdu į šį automobilį +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centruoti laivą pagrindiniame lange. Spustelėjus dukart, pagrindinis langas seks laivą paskui. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atidarytas naujas peržiūros langas su vaizdu į šį laivą +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centruoti lėktuvą pagrindiniame lange. Spustelėjus dukart, pagrindinis langas seks lėktuvą paskui. Spragtelėjus laikant nuspaustą Ctrl klavišą, bus atidarytas naujas peržiūros langas su vaizdu į šį lėktuvą STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Nukreipti traukinį į depą. Spragtelėjus laikant nuspaustą Ctrl klavišą, traukinys bus nukreiptas tik techninei apžiūrai STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Nukreipti automobilį į garažą. Spragtelėjus laikant nuspaustą Ctrl klavišą, automobilis bus nukreiptas tik techninei apžiūrai @@ -3947,6 +4029,10 @@ STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Parodyti STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Parodyti išsamią laivo informaciją STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Parodyti išsamią lėktuvo informaciją +STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Dabartinė traukinio būsena - spragtelkite, jei norite sustabdyti/paleisti traukinį +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Dabartinė automobilio būsena - spragtelkite, jei norite sustabdyti/paleisti automobilį +STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Dabartinė laivo būsena - spragtelkite, jei norite sustabdyti/paleisti laivą +STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Dabartinė lėktuvo būsena - spragtelkite, jei norite sustabdyti/paleisti lėktuvą # Messages in the start stop button in the vehicle view @@ -4669,7 +4755,8 @@ STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}Šio kel STR_ERROR_CAN_T_REMOVE_TRAMWAY_FROM :{WHITE}Neįmanoma pašalinti tramvajaus... STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... nėra kelio STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... nėra kelio tramvajui -STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Čia negalima konvertuoti tramvajaus tipo... +STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}Neįmanoma čia pakeisti kelio tipo... +STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}Neįmanoma čia pakeisti tramvajaus bėgių tipo... STR_ERROR_NO_SUITABLE_ROAD :{WHITE} Nėra tinkamo kelio STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Netinkama tramvajaus vėžė @@ -5183,10 +5270,10 @@ STR_INDUSTRY_NAME_SUGAR_MINE.kreip :cukraus kasykla ##id 0x6000 STR_SV_EMPTY : STR_SV_UNNAMED :Bevardis -STR_SV_TRAIN_NAME :Traukinys {COMMA} -STR_SV_ROAD_VEHICLE_NAME :Automobilis {COMMA} -STR_SV_SHIP_NAME :Laivas {COMMA} -STR_SV_AIRCRAFT_NAME :Lėktuvas {COMMA} +STR_SV_TRAIN_NAME :Traukinys #{COMMA} +STR_SV_ROAD_VEHICLE_NAME :Automobilis #{COMMA} +STR_SV_SHIP_NAME :Laivas #{COMMA} +STR_SV_AIRCRAFT_NAME :Lėktuvas #{COMMA} STR_SV_STNAME :{STRING} STR_SV_STNAME_NORTH :{STRING} šiaurinė diff --git a/src/lang/luxembourgish.txt b/src/lang/luxembourgish.txt index e993813182..dd89bb92a5 100644 --- a/src/lang/luxembourgish.txt +++ b/src/lang/luxembourgish.txt @@ -989,6 +989,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Bildopl STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Wielt d'Bildopléisung STR_GAME_OPTIONS_RESOLUTION_OTHER :Aaner + 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 @@ -1003,6 +1004,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Duebel Gréisst STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Véierfach + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basis Grafikset 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} @@ -1757,6 +1760,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Net genuch Späicher 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 +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2278,6 +2283,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Jo, download d'Grafiken STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nee, verlooss OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Transparenzoptiounen STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Wiesselt d'Transparenz fir d'Schëlder. Ctrl+Klick fir festzesetzen @@ -3133,13 +3139,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}D'Gemen STR_GOALS_CAPTION :{WHITE}{COMPANY} Ziler STR_GOALS_SPECTATOR_CAPTION :{WHITE}Global Ziler STR_GOALS_SPECTATOR :Global Ziler -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}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 diff --git a/src/lang/malay.txt b/src/lang/malay.txt index 703606ad61..74afc4509a 100644 --- a/src/lang/malay.txt +++ b/src/lang/malay.txt @@ -944,6 +944,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Saiz Antaramuka STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Sila pilih saiz elemen antara muka untuk digunakan @@ -953,6 +954,8 @@ 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fail hilang/rosak @@ -1467,6 +1470,8 @@ STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE} ... aba STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE} ... abaikan set bunyi Base '{STRING}': tidak ditemui STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE} ... abaikan set grafik Base '{STRING}': tidak ditemui +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1977,6 +1982,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ya, muat turun grafik STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Tidak, keluar dari OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Pilihan transparansi STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Gulir kejernihan nama untuk isyarat stesen. Ctrl+Klik untuk mengunci. @@ -2734,10 +2740,8 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Beli ha STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Rasuah pihak berkuasa bandar untuk meninggikan penarafan anda, dengan risiko hukuman yang sangat berat.{}Kos: {CURRENCY_LONG} # Goal window -STR_GOALS_GLOBAL_TITLE :{BLACK}Hasrat global: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Tiada - -STR_GOALS_COMPANY_TITLE :{BLACK}Hasrat syarikat: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klik pada industri/bandar/petak untuk memusatkan pandangan. Ctrl+Klik akan membuka pusat pandangan di atas industri/bandar/petak # Goal question window diff --git a/src/lang/norwegian_bokmal.txt b/src/lang/norwegian_bokmal.txt index 99b037c87e..c82256aa18 100644 --- a/src/lang/norwegian_bokmal.txt +++ b/src/lang/norwegian_bokmal.txt @@ -950,6 +950,7 @@ STR_GAME_OPTIONS_CURRENCY_CNY :Chinese Renminb STR_GAME_OPTIONS_CURRENCY_HKD :Hong Kong Dollar (HKD) STR_GAME_OPTIONS_CURRENCY_INR :Indisk rupi (INR) STR_GAME_OPTIONS_CURRENCY_IDR :Indonesisk Rupi (IDR) +STR_GAME_OPTIONS_CURRENCY_MYR :Malaysisk Ringgit (MYR) ############ end of currency region STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT :Venstrekjøring @@ -1002,6 +1003,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Kryss av STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skjermoppløsning STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Velg skjermoppløsningen som skal brukes STR_GAME_OPTIONS_RESOLUTION_OTHER :annet +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Maskinvareakselerasjon +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Merk av i denne boksen for å la OpenTTD prøve å bruke maskinvareakselerasjon. En endret innstilling blir bare brukt ved omstart av spillet +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Innstillingen vil ikke tre i kraft før spillet er restartet 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 @@ -1019,6 +1025,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dobbel størrelse STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Firedobbel størrelse +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafikk + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}VIs oppdateringsfrekvens +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Velg oppdateringsfrekvensen på skjermen +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :andre +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Oppdateringsfrekvens høyere enn 60Hz kan påvirke ytelsen. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikksett STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Velg grafikksett som skal brukes STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} manglende/ødelagt{P "" e} fil{P "" er} @@ -1458,6 +1472,7 @@ STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Definer oppsett STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Automatisk fjerne signaler mens jernbane bygges: {STRING} STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Automatisk fjerne signaler mens jernbane bygges dersom signalene er i veien. Vær oppmerksom på at dette kan potensielt lede til togkrasj. STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Grense for hvor fort spillet kjører: {STRING} +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Begrens hvor fort spillet går når hurtigspoling er aktivert. 0 = ingen begrensning (så raskt som din pc tillater). Verdier under 100% gjør spillet tregere. Den øvre grensen avhenger av spesifikasjonene til din pc og kan variere avhengig av spillet. STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% normal hastighet STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_ZERO :Ingen grense (så fort som maskinen din tillater) @@ -1650,12 +1665,17 @@ STR_CONFIG_SETTING_ZOOM_MIN :Maks zoom-inn n STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Maksimalt forstørrelsesnivå for synsfelt. Vær oppmerksom på at aktivering av høyere forstørrelsesnivå øker minnekravet STR_CONFIG_SETTING_ZOOM_MAX :Maks zoom-ut nivå: {STRING} STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Maksimalt 'zoom-ut' nivå for synsfelt. Høye ut-zoomingsnivåer kan føre til hakking når det brukes +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Høyeste oppløsning effekter kan bruke: {STRING} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Begrens maks oppløsning effektene kan bruke. Å begrense oppløsningen vil unngå å bruke høy oppløsning selv når den er tilgjengelig. Dette kan bidra til å holde spillets utseende enhetlig når du bruker en blanding av GRF-filer med og uten grafikk med høy oppløsning. STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x 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_SPRITE_ZOOM_LVL_MIN :4x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x STR_CONFIG_SETTING_TOWN_GROWTH :Hastighet for byenes vekst: {STRING} STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT :Hastigheten byer vokser med STR_CONFIG_SETTING_TOWN_GROWTH_NONE :Ingen @@ -1789,6 +1809,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Tomt for minne STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Tildeling av {BYTES} fra spritecachen feilet. Spritecachen ble redusert til {BYTES}. Dette senke ytelsen av OpenTTD. For å redusere minneforbruken kan du forsøke å slå av 32bpp grafikk og/eller zoomnivå. +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Feil med skjerminstillingene... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... ingen kompatibel GPU funnet. Maskinvareakselerasjon deaktivert + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2320,6 +2344,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, last ned grafikken STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nei, avslutt OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Instillinger for gjennomsiktighet STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Gjennomsiktige skilt. Ctrl+klikk for å låse @@ -3179,26 +3204,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Finansier nye b STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Kjøp eksklusive transportrettigheter STR_LOCAL_AUTHORITY_ACTION_BRIBE :Bestikk bystyret -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Start en liten lokal reklamekampanje for å tiltrekke deg flere passasjerer og mer varer til dine transporttjenester.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Start en middels stor lokal reklamekampanje for å tiltrekke deg flere passasjerer og mer varer til dine transporttjenester.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Start en stor lokal reklamekampanje for å tiltrekke deg flere passasjerer og mer varer til dine transporttjenester.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Finansier ombygging av det lokale veinettet. Fører til betydelige veiforstyrrelser i opptil seks måneder.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Bygg en statue for å ære firmaet.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Finansier byggingen av nye kommersielle bygninger i byen.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Kjøp ett års ekslusive transportrettigheter i byen. Bystyret vil kun tillate passasjerer og varer å bruke dine transporttjenester.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Start en liten lokal reklamekampanje for å tiltrekke deg flere passasjerer og mer varer til dine transporttjenester.{}Gir en midlertidig økning til stasjonsvurderingen i en liten radius rundt bysentrum.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Start en middels stor lokal reklamekampanje for å tiltrekke deg flere passasjerer og mer varer til dine transporttjenester.{}Gir en midlertidig økning til stasjonsvurderingen i en liten radius rundt bysentrum.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Start en stor lokal reklamekampanje for å tiltrekke deg flere passasjerer og mer varer til dine transporttjenester.{}Gir et midlertidig økning til stasjonsvurderingen i stor radius rundt bysentrum.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Finansier ombygging av det lokale veinettet.{}Fører til betydelige veiforstyrrelser i opptil seks måneder.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Bygg en statue for å ære firmaet.{}Gir en permanent økning i stasjonens rangering i denne byen.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Finansier byggingen av nye kommersielle bygninger i byen.{}Gir en midlertidig økning for veksten i denne byen.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Kjøp ett års eksklusive transportrettigheter i byen.{}Bystyret vil ikke tillate passasjerer og last å bruke konkurrentenes stasjoner.{}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Du kan bestikke bystyret for å forbedre vurderingen av firmaet ditt, men du risikerer å bli bøtelagt hvis du blir oppdaget.{}Kostnad: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Målsetninger STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globale mål STR_GOALS_SPECTATOR :Globale mål -STR_GOALS_GLOBAL_TITLE :{BLACK}Globale mål: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Global +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Vis globale målsetninger +STR_GOALS_COMPANY_BUTTON :{BLACK}Firma +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Vis selskapets målsetninger STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Ingen - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Ikke relevant - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Firmaets mål: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}klikk på mål for å gå til industri/by/rute . Ctrl+klikk åpner et nytt tilleggsvindu over industriens/byens/rutens beliggenhet # Goal question window @@ -3569,6 +3595,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Lokomoti STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Kan bygges om til: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Alle varetyper STR_PURCHASE_INFO_NONE :Ingen +STR_PURCHASE_INFO_ENGINES_ONLY :Kun lokomotiv STR_PURCHASE_INFO_ALL_BUT :Alt utenom {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks trekkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Rekkevidde: {GOLD}{COMMA} ruter diff --git a/src/lang/norwegian_nynorsk.txt b/src/lang/norwegian_nynorsk.txt index e0f199eca6..4ce5e77459 100644 --- a/src/lang/norwegian_nynorsk.txt +++ b/src/lang/norwegian_nynorsk.txt @@ -971,6 +971,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Grensesnittstorleik STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Vel storleik å bruke på grensesnittet @@ -980,6 +981,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Firedobbel stø + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Grafikksett STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Vel grafikksett som skal nyttast STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} manglande/øydelagd{P "" e} fil{P "" er} @@ -1629,6 +1632,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... utel STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Ikkje meir minne STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Fordeling {BYTES} av spritecache feila. Spritecache vart redusert til {BYTES}. Dette vil redusera ytelsen til OpenTTD. For å redusera minnebehova kan du prøva å deaktivera 32bpp grafikk og/eller zoom-nivåer +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2145,6 +2150,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, last ned grafikken. STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nei, avslutt OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Gjennomsynsval STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Byt gjennomsyn for stasjonssktilt. Ctrl+klikk for å låsa @@ -2918,13 +2924,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Bestikk # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Mål STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globale mål -STR_GOALS_GLOBAL_TITLE :{BLACK}Globale mål: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Ingen - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Ikkje relevant - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Målet åt firmaet: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikk på mål for å gå til industri/by/rute. Ctrl+klikk åpner eit nytt tilleggsvindauge over industrien/byen/ruta sin lokasjon. # Goal question window diff --git a/src/lang/polish.txt b/src/lang/polish.txt index ed15ac14a9..e9908b52e4 100644 --- a/src/lang/polish.txt +++ b/src/lang/polish.txt @@ -1382,6 +1382,8 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Rozdziel STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Wybierz rozdzielczość ekranu STR_GAME_OPTIONS_RESOLUTION_OTHER :inna +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Ustawienie to zacznie obowiązywać dopiero po ponownym uruchomieniu gry. + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Rozmiar interfejsu STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Wybierz rozmiar elementów interfejsu @@ -1398,6 +1400,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normalna STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Podwójna STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Poczwórna + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Podstawowy zestaw grafik STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Wybierz podstawowy zestaw grafik do użycia STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} brak/uszkodzony plik{P "" i ów} @@ -2168,6 +2172,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Brak pamięci STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Nie powiodła się rezerwacja pamięci cache dla sprite'ów od wielkości {BYTES}. Pamięć cache sprite'ów została zredukowana do {BYTES}. Obniży to wydajność OpenTTD. By zmniejszyć zapotrzebowanie pamięci, możesz spróbować wyłączyć grafikę 32bpp i/lub poziomy zbliżenia +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2698,6 +2704,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Tak, pobierz grafikę STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nie, opuść OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opcje przeźroczystości STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Przełącz przeźroczystość dla znaków. Ctrl+klik, aby zablokować @@ -3560,23 +3567,24 @@ STR_LOCAL_AUTHORITY_ACTION_BRIBE :Daj łapówkę STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Rozpocznij małą kampanię reklamową aby zachęcić trochę pasażerów i fabryk do korzystania z Twoich usług transportowych.{}Koszt: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Rozpocznij średnią kampanię reklamową aby zachęcić więcej pasażerów i fabryk do korzystania z Twoich usług transportowych.{}Koszt: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Rozpocznij dużą kampanię reklamową aby zachęcić mnóstwo pasażerów i fabryk do korzystania z Twoich usług transportowych.{}Koszt: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Ufunduj remont sieci dróg. Powoduje zakłócenia w ruchu ulicznym do 6 miesięcy.{}Koszt: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Zbuduj pomnik dla uczczenia Twojej firmy.{}Koszt: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Ufunduj remont sieci dróg.{}Spowoduje to zakłócenia w ruchu ulicznym do 6 miesięcy.{}Koszt: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Zbuduj pomnik dla uczczenia Twojej firmy.{}Trwale podniesie to ocenę twoich stacji w pobliżu tego miasta.{}Koszt: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Ufunduj nowe budynki komercyjne w mieście.{}Koszt: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Kup roczną wyłączność na prawa transportowe w mieście. Lokalne władze pozwolą korzystać tylko z usług Twojej firmy.{}Koszt: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Kup roczną wyłączność na prawa transportowe w mieście.{} Lokalne władze nie pozwolą pasażerom ani przedsiębiorstwom korzystać z usług innych firm.{}Koszt: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Daj łapówkę lokalnym władzom. Powiększ swoją ocenę, ryzykując poważne kary w razie złapania.{}Koszt: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}Cele firmy {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Cele globalne STR_GOALS_SPECTATOR :Cele globalne -STR_GOALS_GLOBAL_TITLE :{BLACK}Cele globalne: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Globalne +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Pokaż cele globalne +STR_GOALS_COMPANY_BUTTON :{BLACK}Firmowe +STR_GOALS_COMPANY_BUTTON_HELPTEXT :Pokaż cele firmowe STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Brak - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nie dotyczy - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Cele firmy: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Kliknij na celu by wyśrodkować widok na przedsiębiorstwie/mieście/polu. Ctrl+klik otwiera nowe okno podglądu # Goal question window @@ -3947,6 +3955,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Moc: {GO STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Można przystosować do: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :wszystkie typy ładunków STR_PURCHASE_INFO_NONE :Żadne +STR_PURCHASE_INFO_ENGINES_ONLY :Tylko lokomotywy STR_PURCHASE_INFO_ALL_BUT :wszystko oprócz {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maks. siła pociągowa: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Zasięg: {GOLD}{COMMA} pól diff --git a/src/lang/portuguese.txt b/src/lang/portuguese.txt index 5441974a8e..d2ee7081fb 100644 --- a/src/lang/portuguese.txt +++ b/src/lang/portuguese.txt @@ -991,6 +991,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Tamanho interface STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Seleccionar tamanho do elemento de interface a usar @@ -1005,6 +1006,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dobro do tamanho STR_GAME_OPTIONS_FONT_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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ficheiro{P "" s} que falta{P "" m} / corrupto{P "" s} @@ -1754,6 +1757,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... a ig STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Falta de memória STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Falha a alocar {BYTES} da cache de sprites. a cache de sprites foi reduzida para {BYTES}. Isto irá reduzir a performance do OpenTTD. Para baixar os requisitos de memória poderá desabilitar gráficos de 32bpp e/ou niveis de zoom +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2278,6 +2283,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}O OpenTT STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sim, obter os gráficos pela rede STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Não, sair do OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opções de transparência STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Comutar transparência para sinais. Ctrl+Clique para bloquear. @@ -3133,13 +3139,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Suborna STR_GOALS_CAPTION :{WHITE}{COMPANY} Objectivos STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objetivos globais STR_GOALS_SPECTATOR :Objectivos Globais -STR_GOALS_GLOBAL_TITLE :{BLACK}Objetivos globais: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nenhum - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Não aplicável - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Objetivos da empresa: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clique no objetivo para centrar a vista principal na indústria/localidade/quadrado. Ctrl+Clique abre uma nova vista na localização da indústria/localidade/quadrado # Goal question window diff --git a/src/lang/romanian.txt b/src/lang/romanian.txt index 2294ae1c53..a81eb944a5 100644 --- a/src/lang/romanian.txt +++ b/src/lang/romanian.txt @@ -979,6 +979,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Mărime interfată STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Alege mărimea elementelor de interfaţa @@ -989,6 +990,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Mărime împăt STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Mărime dublă + + 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} fişier{P "" "e"} lipsă/corupt{P "" e} @@ -1709,6 +1712,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... setu STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Fără memorie STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Nu s-au putut rezerva {BYTES} pentru cache al sprite-urilor. Mărimea cache-ului a fost redusă la {BYTES}. Performanța OpenTTD va fi redusă. Pentru a micșora cerințele jocului cu privire la memorie, poți încerca să dezactivezi modul grafic 32bpp și/sau reducerea numărului de nivele zoom +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2228,6 +2233,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Da, descarcă pachetele grafice STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nu, ieși din OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Optiuni transparenţă STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Comută transparenţa pentru nume/semne. Ctrl+Click pentru blocare @@ -3017,13 +3023,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Mituie # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Scopuri STR_GOALS_SPECTATOR_CAPTION :{WHITE}Scopuri globale -STR_GOALS_GLOBAL_TITLE :{BLACK}Ţinte globale: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nici unul - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nu este aplicabil - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Ţintele companiei: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Click pe ţintă pentru a centra ecranul principal pe industrie/oraş/zonă. Ctrl+Click deschide o fereastră nouă de vizualizare a industriei/oraşului/zonei # Goal question window diff --git a/src/lang/russian.txt b/src/lang/russian.txt index 076e35940a..f227abd42e 100644 --- a/src/lang/russian.txt +++ b/src/lang/russian.txt @@ -729,7 +729,7 @@ STR_GRAPH_COMPANY_VALUES_CAPTION :{WHITE}Стои 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 единиц (10{NBSP}000 литров) груза на расстояние в 20 клеток +STR_GRAPH_CARGO_PAYMENT_RATES_TITLE :{TINY_FONT}{BLACK}Оплата за перевозку 10{NBSP}единиц (10{NBSP}000 литров) груза на расстояние в 20 клеток STR_GRAPH_CARGO_ENABLE_ALL :{TINY_FONT}{BLACK}Показать все STR_GRAPH_CARGO_DISABLE_ALL :{TINY_FONT}{BLACK}Спрятать все STR_GRAPH_CARGO_TOOLTIP_ENABLE_ALL :{BLACK}Показать все виды грузов на графике @@ -1131,11 +1131,11 @@ 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 :каждый год +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}Язык @@ -1147,6 +1147,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Вклю STR_GAME_OPTIONS_RESOLUTION :{BLACK}Разрешение экрана STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Выбор разрешения экрана STR_GAME_OPTIONS_RESOLUTION_OTHER :Другое +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Аппаратное ускорение +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Поставьте отметку, чтобы включить аппаратное ускорение в OpenTTD. Но для этого игру придётся перезапустить. +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Эта настройка будет применена только после перезапуска игры STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Размер элементов интерфейса STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Выберите размер элементов интерфейса @@ -1164,20 +1169,27 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Нормаль STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Двукратный STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Четырёхкратный -STR_GAME_OPTIONS_BASE_GRF :{BLACK}Базовый набор графики -STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Выбрать базовый набор графики +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Настройки графики + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Частота обновления экрана +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Выбор частоты обновления экрана +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :Другая +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}{NBSP}Гц +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Частота обновления выше 60{NBSP}Гц может отрицательно сказаться на производительности. + +STR_GAME_OPTIONS_BASE_GRF :{BLACK}Основной графический пакет +STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Выбор основного графического пакета STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} отсутствующи{P й х х}/повреждённы{P й х х} файл{P "" а ов} -STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Дополнительная информация о базовом наборе графики +STR_GAME_OPTIONS_BASE_GRF_DESCRIPTION_TOOLTIP :{BLACK}Дополнительная информация о выбранном графическом пакете -STR_GAME_OPTIONS_BASE_SFX :{BLACK}Базовый набор звуков -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Выберите основной набор звуков для использования -STR_GAME_OPTIONS_BASE_SFX_TOOLTIP.m :{BLACK}Выберите основной набор звуков -STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Дополнительная информация о наборе основных звуков +STR_GAME_OPTIONS_BASE_SFX :{BLACK}Основной звуковой пакет +STR_GAME_OPTIONS_BASE_SFX_TOOLTIP :{BLACK}Выбор основного пакета звуковых эффектов +STR_GAME_OPTIONS_BASE_SFX_DESCRIPTION_TOOLTIP :{BLACK}Дополнительная информация о выбранном пакете звуковых эффектов -STR_GAME_OPTIONS_BASE_MUSIC :{BLACK}Базовый набор музыки -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_GAME_OPTIONS_BASE_MUSIC :{BLACK}Основной музыкальный пакет +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}Сбой полноэкранного режима @@ -1937,12 +1949,16 @@ STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :несовме STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :неизвестный STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... уровень сжатия «{STRING}» неверный STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... алгоритм сохранения «{STRING}» недоступен. Будет использоваться «{STRING}» -STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... набор графики "{STRING}" не найден -STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... набор звуков "{STRING}" не найден -STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... набор музыки "{STRING}" не найден +STR_CONFIG_ERROR_INVALID_BASE_GRAPHICS_NOT_FOUND :{WHITE}... графический пакет «{STRING}» не найден +STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... звуковой пакет «{STRING}» не найден +STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... музыкальный пакет «{STRING}» не найден STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Нехватка оперативной памяти STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Не удалось выделить {BYTES} для кэша спрайтов. Размер кэша снижен до {BYTES}. Это отрицательно скажется на производительности OpenTTD. Чтобы снизить затраты памяти, отключите 32-битную графику и снизьте максимальный уровень приближения. +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Ошибка в настройках графики... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... не найдено подходящего графического процессора. Аппаратное ускорение отключено. + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2406,7 +2422,7 @@ 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}Выбрать обновления @@ -2443,15 +2459,11 @@ STR_CONTENT_NO_ZLIB :{WHITE}OpenTTD STR_CONTENT_NO_ZLIB_SUB :{WHITE}... загрузка контента невозможна! # Order of these is important! -STR_CONTENT_TYPE_BASE_GRAPHICS :{G=m}Базовая графика -STR_CONTENT_TYPE_BASE_GRAPHICS.gen :набора базовой графики -STR_CONTENT_TYPE_BASE_GRAPHICS.acc :набор базовой графики +STR_CONTENT_TYPE_BASE_GRAPHICS :{G=m}Осн. графика +STR_CONTENT_TYPE_BASE_GRAPHICS.gen :графического пакета +STR_CONTENT_TYPE_BASE_GRAPHICS.acc :графический пакет STR_CONTENT_TYPE_NEWGRF :{G=m}NewGRF -STR_CONTENT_TYPE_NEWGRF.gen :NewGRF -STR_CONTENT_TYPE_NEWGRF.acc :NewGRF STR_CONTENT_TYPE_AI :{G=m}ИИ -STR_CONTENT_TYPE_AI.gen :ИИ -STR_CONTENT_TYPE_AI.acc :ИИ STR_CONTENT_TYPE_AI_LIBRARY :{G=f}Библиотека ИИ STR_CONTENT_TYPE_AI_LIBRARY.gen :библиотеки ИИ STR_CONTENT_TYPE_AI_LIBRARY.acc :библиотеку ИИ @@ -2461,9 +2473,9 @@ STR_CONTENT_TYPE_SCENARIO.acc :сценари STR_CONTENT_TYPE_HEIGHTMAP :{G=f}Карта высот STR_CONTENT_TYPE_HEIGHTMAP.gen :карты высот STR_CONTENT_TYPE_HEIGHTMAP.acc :карту высот -STR_CONTENT_TYPE_BASE_SOUNDS :Основные звуки -STR_CONTENT_TYPE_BASE_SOUNDS.gen :набора базовых звуков -STR_CONTENT_TYPE_BASE_SOUNDS.acc :набор базовых звуков +STR_CONTENT_TYPE_BASE_SOUNDS :Осн. звуки +STR_CONTENT_TYPE_BASE_SOUNDS.gen :звукового пакета +STR_CONTENT_TYPE_BASE_SOUNDS.acc :звуковой пакет STR_CONTENT_TYPE_BASE_MUSIC :{G=f}Музыка STR_CONTENT_TYPE_BASE_MUSIC.gen :музыки STR_CONTENT_TYPE_BASE_MUSIC.acc :музыку @@ -2484,11 +2496,12 @@ 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}Отсутствует набор графики -STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}Для запуска OpenTTD требуется набор графики. Скачать и установить его? +STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Отсутствует графический пакет +STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}Для запуска OpenTTD требуется графический пакет. Скачать и установить его? STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Да, скачать STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Нет, выйти + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Настройки прозрачности STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Переключение прозрачности надписей. Ctrl+щелчок - заблокировать. @@ -3363,26 +3376,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Профина STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Купить эксклюзивные транспортные права STR_LOCAL_AUTHORITY_ACTION_BRIBE :Взятка местной администрации -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Провести малую рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Цена: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Провести среднюю рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Цена: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Провести большую рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Цена: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Профинансировать реконструкцию городских дорог. Вызывает большие нарушения движения на срок до 6 месяцев.{}Цена: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Установить статую в честь вашей компании.{}Цена: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Профинансировать строительство новых коммерческих зданий в городе.{}Цена: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Купить годовые эксклюзивные права на транспортные перевозки в городе. Администрация разрешит пользоваться ТОЛЬКО вашими станциями.{}Цена: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Провести малую рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Она временно повысит рейтинг ваших станций, построенных рядом с центром города.{}Стоимость: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Провести среднюю рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Она временно повысит рейтинг ваших станций, находящихся не очень далеко от центра города.{}Стоимость: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Провести большую рекламную кампанию для увеличения грузо- и пассажиропотока на ваших станциях.{}Она временно повысит рейтинг ваших станций на значительной площади в городе и окрестностях.{}Стоимость: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Профинансировать реконструкцию городских дорог.{}Вызывает большие нарушения движения на срок до 6 месяцев.{}Стоимость: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Установить статую в честь вашей компании.{}Она добавит рейтинг вашим станциям.{}Стоимость: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Профинансировать строительство новых зданий.{}Это временно ускорит рост города.{}Стоимость: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Купить годовые эксклюзивные права на транспортные перевозки в городе.{}Администрация разрешит пользоваться ТОЛЬКО вашими станциями.{}Стоимость: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Дать взятку городской администрации для повышения рейтинга. Существует риск санкций, если факт подкупа раскроется.{}Цена: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}Задачи компании «{COMPANY}» STR_GOALS_SPECTATOR_CAPTION :{WHITE}Глобальные задачи -STR_GOALS_SPECTATOR :Общие задачи -STR_GOALS_GLOBAL_TITLE :{BLACK}Общие задачи: +STR_GOALS_SPECTATOR :Глобальные задачи +STR_GOALS_GLOBAL_BUTTON :{BLACK}Глобальные +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Показать глобальные задачи +STR_GOALS_COMPANY_BUTTON :{BLACK}Компания +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Показать задачи компании STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Нет - -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+щелчок показывает в новом окне. # Goal question window @@ -3753,6 +3767,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Веду STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Может перевозить: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Все типы грузов STR_PURCHASE_INFO_NONE :Нет +STR_PURCHASE_INFO_ENGINES_ONLY :Только локомотивы STR_PURCHASE_INFO_ALL_BUT :Всё, кроме {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Макс. тяговое усилие: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Дальность: {GOLD}{COMMA} клет{P ка ки ок} @@ -4630,7 +4645,7 @@ STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}Нево STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}Здесь невозможно построить пристань... STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}Здесь невозможно построить аэропорт... -STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Присоединяется более чем к одной существующей станции +STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Примыкает к нескольким станциям STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... станция слишком большая STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Слишком много станций и остановок STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Слишком большая ж/д станция @@ -4688,7 +4703,7 @@ STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... до STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... должен быть остановлен в доке STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... должен быть остановлен в ангаре -STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Структуру поезда можно менять только в депо +STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Состав можно изменять только в депо STR_ERROR_TRAIN_TOO_LONG :{WHITE}Поезд слишком длинный STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}Не удалось развернуть поезд... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... состоит из нескольких элементов @@ -4884,13 +4899,13 @@ STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... да # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}Не удалось составить график движения для этого транспорта... STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Транспорт может ждать только на станции -STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Этот транспорт не останавливается на этой станции +STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Это транспортное средство не останавливается на этой станции # Sign related errors -STR_ERROR_TOO_MANY_SIGNS :{WHITE}... слишком много меток +STR_ERROR_TOO_MANY_SIGNS :{WHITE}... слишком много табличек STR_ERROR_CAN_T_PLACE_SIGN_HERE :{WHITE}Не удалось поставить табличку... STR_ERROR_CAN_T_CHANGE_SIGN_NAME :{WHITE}Не удалось изменить табличку... -STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}Не удалось удалить метку... +STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}Не удалось удалить табличку... # Translatable comment for OpenTTD's desktop shortcut STR_DESKTOP_SHORTCUT_COMMENT :Экономический симулятор на основе игры «Transport Tycoon Deluxe» @@ -4899,12 +4914,12 @@ STR_DESKTOP_SHORTCUT_COMMENT :Экономи STR_BASEGRAPHICS_DOS_DESCRIPTION :Графика из Transport Tycoon Deluxe для DOS. STR_BASEGRAPHICS_DOS_DE_DESCRIPTION :Графика из немецкой версии Transport Tycoon Deluxe для DOS. STR_BASEGRAPHICS_WIN_DESCRIPTION :Графика из Transport Tycoon Deluxe для Windows. -STR_BASESOUNDS_DOS_DESCRIPTION :Набор звукового оформления из игры Transport Tycoon Deluxe для DOS. -STR_BASESOUNDS_WIN_DESCRIPTION :Набор звукового оформления из игры Transport Tycoon Deluxe для Windows. +STR_BASESOUNDS_DOS_DESCRIPTION :Звуковые эффекты из игры Transport Tycoon Deluxe для DOS. +STR_BASESOUNDS_WIN_DESCRIPTION :Звуковые эффекты из игры Transport Tycoon Deluxe для Windows. STR_BASESOUNDS_NONE_DESCRIPTION :Пустой набор звукового оформления, не содержащий никаких звуков. -STR_BASEMUSIC_WIN_DESCRIPTION :Набор музыкального оформления из игры Transport Tycoon Deluxe для Windows. -STR_BASEMUSIC_DOS_DESCRIPTION :Набор музыкального оформления из игры Transport Tycoon Deluxe для DOS. -STR_BASEMUSIC_TTO_DESCRIPTION :Набор музыкального оформления из игры Transport Tycoon Deluxe для DOS. +STR_BASEMUSIC_WIN_DESCRIPTION :Набор музыки из игры Transport Tycoon Deluxe для Windows. +STR_BASEMUSIC_DOS_DESCRIPTION :Набор музыки из игры Transport Tycoon Deluxe для DOS. +STR_BASEMUSIC_TTO_DESCRIPTION :Набор музыки из игры Transport Tycoon для DOS. STR_BASEMUSIC_NONE_DESCRIPTION :Пустой набор музыкального оформления, не содержащий никакой музыки. STR_TRADITIONAL_TRAIN_NAME :Поезд №{COMMA} diff --git a/src/lang/serbian.txt b/src/lang/serbian.txt index 279ad6006c..33d16fe46a 100644 --- a/src/lang/serbian.txt +++ b/src/lang/serbian.txt @@ -1197,6 +1197,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Veličina interfejsa STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Izaberite većinu elementa koja će se koristiti @@ -1213,6 +1214,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Uobičajen STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvostruka veličina STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Četvorostruka veličina + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni skup grafika STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Odaberite željeni skup osnovnih grafika STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} datotek{P a e a} nedostaj{P e u e}/neispravn{P a o o} @@ -1983,6 +1986,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Nema više memorije STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Dodela {BYTES} predmemorije sprajtova nije uspelo. Predmemorija sprajtova je smanjena na {BYTES}. Ovo će smanjiti performanse OpenTTDa. Kako bi smanjili memorijske zahteve možete pokušati da isključite 32bpp grafiku i/ili nivo zumiranja +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2513,6 +2518,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Da, preuzmi grafike STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ne, napusti OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Podešavanja Prozirnosti STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Promena prozirnosti znakova. Sa Ctrl+Klik se zaključava @@ -3385,13 +3391,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Davanje STR_GOALS_CAPTION :{WHITE}{COMPANY} Ciljevi STR_GOALS_SPECTATOR_CAPTION :{WHITE}Opšti ciljevi STR_GOALS_SPECTATOR :Opšti ciljevi -STR_GOALS_GLOBAL_TITLE :{BLACK}Opšti ciljevi: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nema - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nije primenjivo - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Ciljevi preduzeća: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikom na cilj premešta se glavni pogled na fabriku/naselje/pločicu. Ctrl+Kilk otvara novi pogled na lokaciju fabrike/naselja/pločice # Goal question window diff --git a/src/lang/simplified_chinese.txt b/src/lang/simplified_chinese.txt index 8577908ebf..87f05c4a62 100644 --- a/src/lang/simplified_chinese.txt +++ b/src/lang/simplified_chinese.txt @@ -990,6 +990,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}屏幕 STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}选择要使用的屏幕分辨率 STR_GAME_OPTIONS_RESOLUTION_OTHER :其他 + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}界面大小 STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}选择使用的界面元素大小 @@ -1004,6 +1005,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :正常 STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :两倍大小 STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :四倍大小 + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}基础图形组 STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}选择要使用的基础图形组 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} 文件{}未找到或不正确 @@ -1758,6 +1761,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... 禁 STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}内存溢出 STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}无法分配 {BYTES} 的 Sprite 缓存。Sprite 缓存的大小已降至 {BYTES}。OpenTTD 的性能将受到影响。请尝试停用 32bpp 图形及/或减少放大倍数,以降低内存需求 +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2279,6 +2284,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}好,开始下载 STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}不,退出OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}透明选项 STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}调整标志是否为透明{}CTRL+点击 锁定 @@ -3134,13 +3140,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}贿赂 STR_GOALS_CAPTION :{WHITE}{COMPANY} 目标 STR_GOALS_SPECTATOR_CAPTION :{WHITE}全球目标: STR_GOALS_SPECTATOR :全局目标 -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_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}公司目标: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}点击使得视图移动到该工业/城镇/地块. Ctrl+左键 在该处创建一个视点. # Goal question window diff --git a/src/lang/slovak.txt b/src/lang/slovak.txt index d3c1406f24..7659574527 100644 --- a/src/lang/slovak.txt +++ b/src/lang/slovak.txt @@ -1069,6 +1069,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Rozlíš STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Výber rozlíšenia obrazovky STR_GAME_OPTIONS_RESOLUTION_OTHER :iné + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Veľkosť rozhrania STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Výber veľkosti prvkov rozhrania @@ -1085,6 +1086,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normálna STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dvojnásobná veľkosť STR_GAME_OPTIONS_FONT_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}Výber sady grafiky, ktorá má byť použitá STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} chýbajúci/poškodený súbor{P "" "y" "ov"} @@ -1851,6 +1854,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Nedostatok pamäte STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Pridelenie {BYTES} z medzipamäte zlyhalo. Medzipamäť bola zredukovaná na {BYTES}. Tým sa zníži výkon OpenTTD. Ak chcete znížiť nároky na pamäť, skúste vypnúť 32bpp grafiku a/alebo približovacie úrovne. +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2381,6 +2386,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Áno, stiahnite si grafiku STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nie, ukončiť OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Nastavenia priehľadnosti STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Prepnúť priehľadnosť nápisov. Ctrl+klik uzamkne nastavenie @@ -3253,13 +3259,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Podplat STR_GOALS_CAPTION :{WHITE}{COMPANY} Ciele STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globálne ciele STR_GOALS_SPECTATOR :Globálne ciele -STR_GOALS_GLOBAL_TITLE :{BLACK}Globálne ciele: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Nič - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Nepoužiteľné - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Ciele spoločnosti: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikni pre vycentrovanie pohľadu na priemysel/mesto/políčko. Ctrl+klik otvorí nové okno s pohľadom na priemysel/mesto/políčko # Goal question window diff --git a/src/lang/slovenian.txt b/src/lang/slovenian.txt index 3ba4ab8c50..7a120204c5 100644 --- a/src/lang/slovenian.txt +++ b/src/lang/slovenian.txt @@ -1123,6 +1123,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Velikost vmesnika STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Izberi velikost elementa vmesnika @@ -1132,6 +1133,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Velikost kvadra + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni komplet grafik STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Izberi osnovni komplet grafik za uporabo STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} manjkajoč{P a i e ih}/okvarjen{P a i e ih} datotek{P a i e ""} @@ -1860,6 +1863,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Premalo pomnilnika STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Priprava {BYTES} za predpomnilnik sličic ni uspela. Pomnilnik je bil zmanjšan na {BYTES}. To bo zmanjšalo zmogljivost OpenTTD. Za zmanjšanje potrebe po spominu onemogoči podporo za 32 bitne sličice +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2377,6 +2382,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Da, prenesi grafike STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ne, zapusti OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Nastavitve prozornega pogleda STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Prozoren ali poln pogled imen postaj. Ctrl+Klik za zaklepanje @@ -3154,13 +3160,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Podkupi # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Cilji STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globalni cilji -STR_GOALS_GLOBAL_TITLE :{BLACK}Globalni cilji: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Brez - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Ni izvedljivo - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Cilji podjetja: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klikni na cilj za pogled na industrijo/mesto/polje. Ctrl+Klik odpre novo okno na industrijo/mesto/polje # Goal question window diff --git a/src/lang/spanish.txt b/src/lang/spanish.txt index df6e0e1bf2..d88c545161 100644 --- a/src/lang/spanish.txt +++ b/src/lang/spanish.txt @@ -197,7 +197,7 @@ STR_UNITS_VELOCITY_METRIC :{COMMA}{NBSP}km STR_UNITS_VELOCITY_SI :{COMMA}{NBSP}m/s STR_UNITS_VELOCITY_GAMEUNITS :{DECIMAL} {NBSP}casillas/día -STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}cv +STR_UNITS_POWER_IMPERIAL :{COMMA}{NBSP}hp STR_UNITS_POWER_METRIC :{COMMA}{NBSP}cv STR_UNITS_POWER_SI :{COMMA}{NBSP}kW @@ -213,7 +213,7 @@ STR_UNITS_VOLUME_SHORT_IMPERIAL :{COMMA}{NBSP}ga STR_UNITS_VOLUME_SHORT_METRIC :{COMMA}{NBSP}l STR_UNITS_VOLUME_SHORT_SI :{COMMA}{NBSP}m³ -STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA} gal{P ón ones} +STR_UNITS_VOLUME_LONG_IMPERIAL :{COMMA}{NBSP}gal{P ón ones} STR_UNITS_VOLUME_LONG_METRIC :{COMMA}{NBSP}litro{P "" s} STR_UNITS_VOLUME_LONG_SI :{COMMA}{NBSP}m³ @@ -227,28 +227,28 @@ STR_UNITS_HEIGHT_SI :{COMMA}{NBSP}m # Common window strings STR_LIST_FILTER_TITLE :{BLACK}Patrón de filtrado: -STR_LIST_FILTER_OSKTITLE :{BLACK}Escriba un patrón de filtrado +STR_LIST_FILTER_OSKTITLE :{BLACK}Escribe un patrón de filtrado STR_LIST_FILTER_TOOLTIP :{BLACK}Introduzca una palabra clave para filtrar la lista -STR_TOOLTIP_GROUP_ORDER :{BLACK}Selecciona orden de agrupamiento -STR_TOOLTIP_SORT_ORDER :{BLACK}Selecciona orden de clasificación (descendiente/ascendiente) -STR_TOOLTIP_SORT_CRITERIA :{BLACK}Selecciona orden de clasificación -STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Selecciona criterio de filtrado +STR_TOOLTIP_GROUP_ORDER :{BLACK}Selecciona la orden de agrupamiento +STR_TOOLTIP_SORT_ORDER :{BLACK}Selecciona el orden de clasificación (descendiente/ascendiente) +STR_TOOLTIP_SORT_CRITERIA :{BLACK}Selecciona el orden de clasificación +STR_TOOLTIP_FILTER_CRITERIA :{BLACK}Selecciona el criterio de filtrado STR_BUTTON_SORT_BY :{BLACK}Ordenar por STR_BUTTON_RENAME :{BLACK}Renombrar STR_BUTTON_CATCHMENT :{BLACK}Cobertura -STR_TOOLTIP_CATCHMENT :{BLACK}Mostrar u ocultar área de cobertura +STR_TOOLTIP_CATCHMENT :{BLACK}Muestra/Oculta el área de cobertura -STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Cerrar ventana -STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título de la ventana - arrastre para moverla -STR_TOOLTIP_SHADE :{BLACK}Ocultar ventana - mostrar solo título de la ventana -STR_TOOLTIP_DEBUG :{BLACK}Mostrar información de depuración NewGRF +STR_TOOLTIP_CLOSE_WINDOW :{BLACK}Cierra la ventana +STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS :{BLACK}Título de la ventana - arrastra para moverla +STR_TOOLTIP_SHADE :{BLACK}Oculta la ventana - muestra sólo el título de la ventana +STR_TOOLTIP_DEBUG :{BLACK}Muestra la información de depuración NewGRF STR_TOOLTIP_DEFSIZE :{BLACK}Redimensionar ventana al tamaño por defecto. Ctrl+Clic permite almacenar el tamaño actual como tamaño por defecto STR_TOOLTIP_STICKY :{BLACK}Esta ventana no se cerrará tras usar el comando 'Cerrar Todas las Ventanas'. Ctrl+Clic permite guardar el estado como estado por defecto -STR_TOOLTIP_RESIZE :{BLACK}Pulse y arrastre para redimensionar la ventana -STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Cambiar entre tamaño de ventana grande/pequeño -STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplazamiento - mueve la lista arriba/abajo -STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplazamiento - mueve la lista izquierda/derecha +STR_TOOLTIP_RESIZE :{BLACK}Clica y arrastra para redimensionar la ventana +STR_TOOLTIP_TOGGLE_LARGE_SMALL_WINDOW :{BLACK}Alterna el tamaño de ventana entre grande/pequeño +STR_TOOLTIP_VSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplazamiento - mueve la lista hacia arriba/abajo +STR_TOOLTIP_HSCROLL_BAR_SCROLLS_LIST :{BLACK}Barra de desplazamiento - mueve la lista a izquierda/derecha STR_TOOLTIP_DEMOLISH_BUILDINGS_ETC :{BLACK}Demoler edificios, etc. en un área de terreno. Ctrl permite seleccionar un área diagonalmente. Mayús permite mostrar una estimación del precio # Show engines button @@ -257,16 +257,16 @@ STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE :{BLACK}Mostrar 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 +STR_SHOW_HIDDEN_ENGINES_VEHICLE_TRAIN_TOOLTIP :{BLACK}Al activar este botón, también se mostrarán los trenes ocultos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_ROAD_VEHICLE_TOOLTIP :{BLACK}Al activar este botón, también se mostrarán los vehículos de carretera ocultos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_SHIP_TOOLTIP :{BLACK}Al activar este botón, también se mostrarán los barcos ocultos +STR_SHOW_HIDDEN_ENGINES_VEHICLE_AIRCRAFT_TOOLTIP :{BLACK}Al activar este botón, también se mostrarán las aeronaves ocultas # Query window STR_BUTTON_DEFAULT :{BLACK}Por defecto STR_BUTTON_CANCEL :{BLACK}Cancelar STR_BUTTON_OK :{BLACK}Aceptar -STR_WARNING_PASSWORD_SECURITY :{YELLOW}Advertencia: Los administradores del servidor podrían ser capaz de leer cualquier texto introducido aquí. +STR_WARNING_PASSWORD_SECURITY :{YELLOW}Advertencia: Los administradores del servidor podrían ser capaces de leer cualquier texto introducido aquí. # On screen keyboard window STR_OSK_KEYBOARD_LAYOUT :º1234567890'¡\qwertyuiop`+asdfghjklñ´ç y STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING :Función de la rueda del ratón: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT :Activa el deslizamiento con ratones de rueda bidimensional -STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Zoom sobre el mapa +STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM :Acercamiento al mapa STR_CONFIG_SETTING_SCROLLWHEEL_SCROLL :Desplazamiento sobre el mapa -STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Nada +STR_CONFIG_SETTING_SCROLLWHEEL_OFF :Desactivada STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER :Velocidad de la rueda del ratón sobre el mapa: {STRING} STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT :Controla la sensibilidad de la rueda del ratón STR_CONFIG_SETTING_OSK_ACTIVATION :Teclado en pantalla: {STRING} -STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Permite seleccionar el método para abrir el teclado en pantalla para escribir texto empleando solamente el puntero. Esta opción está pensada para dispositivos pequeños sin teclado físico +STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT :Permite seleccionar el método para abrir el teclado en pantalla para escribir texto empleando solamente el cursor. Esta opción está pensada para dispositivos pequeños sin teclado físico STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED :Deshabilitado STR_CONFIG_SETTING_OSK_ACTIVATION_DOUBLE_CLICK :Doble clic STR_CONFIG_SETTING_OSK_ACTIVATION_SINGLE_CLICK_FOCUS :Un solo clic (si está enfocado) @@ -1425,7 +1438,7 @@ STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG :largo (31 Dic 2 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_PAUSE_ON_NEW_GAME :Pausar automáticamente al comenzar un juego nuevo: {STRING} +STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME :Pausar automáticamente al comenzar una partida nueva: {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} STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT :Permite seleccionar las acciones que se pueden llevar a cabo mientras el juego está en pausa @@ -1434,28 +1447,28 @@ STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_ALL_NON_CONSTRUCTION :Todas las accio 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 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_ADVANCED_VEHICLE_LISTS_HELPTEXT :Activa el uso de listas avanzadas de vehículos 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 +STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT :Permite escoger si se deben de mostrar indicadores de carga encima de los vehículos que están en estaciones STR_CONFIG_SETTING_TIMETABLE_IN_TICKS :Mostrar horario en tics en vez de en días: {STRING} STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT :Muestra los tiempos de viaje en los horarios en tics en lugar de en días STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE :Mostrar salidas y llegadas en los horarios: {STRING} STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT :Muestra tiempos de llegada y salida adelantados en los horarios STR_CONFIG_SETTING_QUICKGOTO :Creación rápida de órdenes para vehículos: {STRING} STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT :Preselecciona el cursor "Ir a" al abrir la ventana de órdenes -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Raíl por defecto (juego nuevo/cargar juego): {STRING} -STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de ferrocarril a seleccionar al comenzar o cargar un juego. 'Primero disponible' selecciona el tipo de ferrocarril más viejo, 'Último disponible' selecciona el tipo de ferrocarril más nuevo, y 'Más usado' selecciona el tipo que está más en uso en el momento +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE :Ferrocarril por defecto (partida nueva/cargada): {STRING} +STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT :Tipo de ferrocarril que se seleccionará al comenzar o cargar un juego. 'Primero disponible' selecciona el tipo de ferrocarril más antiguo, 'Último disponible' selecciona el tipo de ferrocarril más moderno, y 'Más usado' selecciona el tipo que se está usando más en ese momento 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 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_SHOW_TRACK_RESERVATION_HELPTEXT :Da a las vías reservadas un color diferente para ayudar a resolver problemas causados por trenes que rehúsan entrar en secciones de via 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 STR_CONFIG_SETTING_EXPENSES_LAYOUT :Agrupar costes en la ventana de finanzas: {STRING} STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Define el diseño de la ventana de finanzas -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Elimina automáticamente las señales durante la construcción del ferrocarril: {STRING} -STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Elimine automáticamente las señales durante la construcción del carril si las señales están en el camino. Tenga en cuenta que esto puede provocar accidentes de tren. +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Eliminar automáticamente las señales durante la construcción de ferrocarril: {STRING} +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Elimina automáticamente las señales durante la construcción de la via si las señales están en el camino. Ten en cuenta que esto puede provocar choques entre trenes. STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT :Límite de velocidad para el avance rápido: {STRING} STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT :Límite de la velocidad de juego cuando se activa el avance rápido. 0 = sin límite (tan rápido como lo permita el ordenador). Los valores inferiores a 100% ralentizan el juego. El límite superior depende de las características del ordenador y pueden variar dependiendo de la partida. STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% Velocidad de juego normal @@ -1482,7 +1495,7 @@ STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING :Deshabilitar co STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT :Cuando se activa, solo pueden construirse infraestructuras si hay vehículos disponibles para ellas, evitando 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 automóviles por empresa: {STRING} +STR_CONFIG_SETTING_MAX_ROAD_VEHICLES :Número máximo de vehículos de carretera 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 @@ -1490,16 +1503,16 @@ 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 las IA +STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT :Activa esta opción para deshabilitar 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 carretera para las IA +STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT :Activa esta opción para deshabilitar la construcción de vehículos de carretera 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 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 las IA +STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT :Activa esta opción para deshabilitar 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 :Elige el perfil a usar para IA aleatorias o para los valores iniciales cuando se añade 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 @@ -1509,7 +1522,7 @@ STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Permite a los j 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 STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Memoria máxima utilizada por script: {STRING} -STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Qué tanta memoria puede consumir una secuencia de instrucciones (script) antes de que sea finalizada forzosamente. Puede que necesite ser incrementado para mapas grandes. +STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT :Cuánta memoria puede consumir un script antes de que sea finalizado forzosamente. Puede que necesite aumentarse para mapas grandes STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE :{COMMA} MiB STR_CONFIG_SETTING_SERVINT_ISPERCENT :Intervalo de mantenimiento en porcentajes: {STRING} @@ -1525,10 +1538,10 @@ STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT :Fija el interva STR_CONFIG_SETTING_SERVINT_SHIPS :Intervalo de mantenimiento por defecto para barcos: {STRING} STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT :Fija el intervalo de mantenimiento por defecto para barcos nuevos, que se empleará si no se define un intervalo de forma explícita para ese vehículo STR_CONFIG_SETTING_NOSERVICE :Desactivar mantenimiento cuando las averías están desactivadas: {STRING} -STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Cuando se activa, los vehículos no reciben mantenimiento si no pueden romperse +STR_CONFIG_SETTING_NOSERVICE_HELPTEXT :Cuando se activa, los vehículos no reciben mantenimiento si no pueden averiarse STR_CONFIG_SETTING_WAGONSPEEDLIMITS :Activar límites de velocidad en vagones: {STRING} -STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Si se activa, se tienen en cuenta los límites de velocidad de los vagones a la hora de decidir la velocidad máxima de un tren -STR_CONFIG_SETTING_DISABLE_ELRAILS :Desactivar ferrocarriles eléctricos: {STRING} +STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT :Si se activa, se tienen en cuenta los límites de velocidad de los vagones a la hora de establecer la velocidad máxima de un tren +STR_CONFIG_SETTING_DISABLE_ELRAILS :Desactivar ferrocarril eléctricos: {STRING} STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT :Si se activa, no es necesario electrificar los ferrocarriles para hacer que los trenes eléctricos puedan recorrerlos STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN :Llegada del primer vehículo a una estación del jugador: {STRING} @@ -1538,19 +1551,19 @@ STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT :Mostrar una not STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS :Accidentes / desastres: {STRING} STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT :Mostrar noticias cuando ocurre un accidente o un desastre STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION :Información de la empresa: {STRING} -STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Mostrar una noticia cuando una nueva compañía es creada, o cuando alguna compañía está en peligro de quiebra +STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT :Mostrar una noticia cuando se crea una nueva compañía, o cuando alguna compañía está en riesgo de quiebra STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN :Apertura de industrias: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Mostrar noticia cuando nuevas industrias abren +STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT :Mostrar noticia cuando abren nuevas industrias STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE :Cierre de industrias: {STRING} STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT :Mostrar noticias cuando una industria cierra STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES :Cambios en la economía: {STRING} -STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Mostrar noticias sobre cambios globales a la economía +STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT :Mostrar noticias sobre cambios globales de la economía STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY :Cambios de producción en industrias atendidas por la empresa: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Mostrar una noticia cuando el nivel de producción de una industria, servida por tu compañía, cambia -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Cambios de producción en las industrias servidas por los competidores: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Mostrar una noticia cuando el nivel de producción de una industria, servida por tus competidores, cambia +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT :Mostrar una noticia cuando cambia el nivel de producción de una industria atendida por tu empresa +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER :Cambios de producción en las industrias atendidas por los competidores: {STRING} +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT :Mostrar una noticia cuando cambia el nivel de producción de una industria atendida por tus competidores STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED :Cambios de producción de otras industrias: {STRING} -STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Mostrar una noticia cuando el nivel de producción de una industria, no servida por tu compañía o competidores, cambia +STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT :Mostrar una noticia cuando cambia el nivel de producción de una industria, no atendida por tu empresa ni por competidores STR_CONFIG_SETTING_NEWS_ADVICE :Aviso / información de los vehículos de la empresa: {STRING} STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT :Mostrar mensajes sobre vehículos que requieren atención STR_CONFIG_SETTING_NEWS_NEW_VEHICLES :Nuevos vehículos: {STRING} @@ -1558,23 +1571,23 @@ STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT :Mostrar noticia STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE :Cambios en la aceptación de carga: {STRING} STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT :Mostrar mensajes sobre cambios de aceptación de carga en estaciones STR_CONFIG_SETTING_NEWS_SUBSIDIES :Subvenciones: {STRING} -STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Mostrar noticias sobre eventos relativos a subsidios +STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT :Mostrar noticias sobre eventos relativos a subvenciones STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION :Información general: {STRING} STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT :Mostrar noticias de eventos generales, tales como la compra de derechos de transporte exclusivos o el pago de reconstrucción de carreteras locales -STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Apagado +STR_CONFIG_SETTING_NEWS_MESSAGES_OFF :Ninguna STR_CONFIG_SETTING_NEWS_MESSAGES_SUMMARY :Resumen STR_CONFIG_SETTING_NEWS_MESSAGES_FULL :Completo -STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Noticias en color aparecen en: {STRING} -STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Año en el cual los periódicos empezarán a imprimirse en color. Antes de ese año solamente usarán una escala de grises +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR :Las noticias en color aparecen en: {STRING} +STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT :Año en el cual los periódicos empezarán a imprimirse en color. Antes de ese año solamente usarán escala de grises STR_CONFIG_SETTING_STARTING_YEAR :Fecha de inicio: {STRING} STR_CONFIG_SETTING_ENDING_YEAR :Año de clasificación final: {STRING} STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Año en el que finaliza el juego para establecer la clasificación. Al final de este año se guarda la puntuación de las empresas y se muestra la pantalla de las puntuaciones más altas, aunque se puede continuar jugando la partida.{}Si este año es posterior al año de comienzo, la pantalla de puntuaciones más altas no se mostrará nunca. STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Nunca STR_CONFIG_SETTING_ECONOMY_TYPE :Tipo de economía: {STRING} -STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :La economía fluida hace que los cambios de producción sean más frecuentes y en pasos más pequeños. La economía congelada detiene los cambios de producción y los cierres de industrias. Esta configuración puede no tener efecto si los tipos de industria los proporciona un NewGRF. +STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT :La economía suave provoca que los cambios en la producción sean más frecuentes y en pasos más pequeños. La economía congelada detiene los cambios en la producción y los cierres de industrias. Esta configuración puede no tener efecto si los tipos de industria los proporciona un NewGRF. STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Original STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Suave STR_CONFIG_SETTING_ECONOMY_TYPE_FROZEN :Congelada @@ -1583,33 +1596,33 @@ STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :Cuando se activ STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Edad mínima de una empresa para comerciar con sus acciones: {STRING} STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT :Edad mínima que tiene que tener una empresa para poder comprar y vender sus acciones. STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE :Porcentaje del beneficio total a pagar en transferencias: {STRING} -STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentaje de los beneficios dados a los transportes intermedios en sistemas de transferencias, dando un mayor control sobre el beneficio de cada vehículo +STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT :Porcentaje de los beneficios entregados a los transportes intermedios en sistemas de transferencias, dando un mayor control sobre el beneficio de cada vehículo STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY :Al arrastrar, colocar señales cada: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Fija la distancia a la que se construirán las señales hasta el próximo obstáculo (señal, cruce), si estas son arrastradas +STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT :Fija la distancia a la que se construirán las señales hasta el próximo obstáculo (señal, cruce) si estas son arrastradas STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE :{COMMA} casilla{P 0 "" s} STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE :Al arrastrar, mantener distancia fija entre señales: {STRING} -STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Fija el comportamiento de la construcción de señales cuando se usa Ctrl+Arrastrar. Si se deshabilita, se colocan señales cerca de túneles y puentes para evitar largos trozos de vía sin señales. Si se activa, se colocan señales cada N casillas, haciendo que el alineamiento de vías paralelas sea más sencillo +STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT :Fija el comportamiento de construcción de señales cuando se usa Ctrl+arrastrar. Si se deshabilita, se colocan señales cerca de túneles y puentes para evitar largos trozos de vía sin señales. Si se activa, se colocan señales cada N casillas, haciendo que el alineamiento de vías paralelas sea más sencillo 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 únicamente permitir el cambio de tipo de señal por rotación mediante Ctrl+Clic sobre las señales ya construidas +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI :Activar la interfaz de señales: {STRING} +STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT :Muestra una ventana para escoger el tipo de señal a construir, en lugar de no usar ventana y únicamente permitir el cambio de tipo de señal por rotación mediante Ctrl+clic 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 STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBS :Señales de ruta STR_CONFIG_SETTING_DEFAULT_SIGNAL_PBSOWAY :Señales de ruta de un sentido STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES :Cambiar entre tipos de señales: {STRING} -STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Permite seleccionar entre qué señales se debe de cambiar al usar Ctrl+Clic con la herramienta de señales +STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT :Permite seleccionar entre qué señales se debe cambiar al usar Ctrl+clic con la herramienta de señales STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL :Solo señales de bloque 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 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_HELPTEXT :Patrón de carreteras a usar para 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_2X2_GRID :Cuadrícula 2x2 +STR_CONFIG_SETTING_TOWN_LAYOUT_3X3_GRID :Cuadrícula 3x3 STR_CONFIG_SETTING_TOWN_LAYOUT_RANDOM :Aleatorio 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 @@ -1622,17 +1635,17 @@ STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT :Permite a los j 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 -STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Generación de cargamento en municipios: {STRING} -STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Qué tanta carga es producida por las casas del municipio, en relación a la población general del municipio.{}Crecimiento cuadrático: Un municipio de doble tamaño genera el cuádruple de pasajeros.{}Crecimiento lineal: Un municipio de doble tamaño genera el doble de pasajeros. +STR_CONFIG_SETTING_TOWN_CARGOGENMODE :Generación de carga en municipios: {STRING} +STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT :Cuanta carga es producida por las casas del municipio, en relación a la población total del municipio.{}Crecimiento cuadrático: Un municipio de doble tamaño genera el cuádruple de pasajeros.{}Crecimiento lineal: Un municipio de doble tamaño genera el doble de pasajeros. STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL :Cuadrático (original) STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :Lineal STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Crecimiento de árboles durante el juego: {STRING} -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla la aparición aleatoria de árboles durante la partida. Esto puede afectar a industrias que dependen del crecimiento de árboles, como los aserraderos -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Crecer, pero no extienda {RED}(rompe al aserradero) -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crece pero solo se extiende en las selvas tropicales -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Crece y difunde por todas partes -STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :No crezcas, no te extiendas {RED}(rompe el aserradero) +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Controla la aparición aleatoria de árboles durante la partida. Esto puede afectar a industrias que dependan del crecimiento de árboles, como los aserraderos +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD :Crecer, pero no extender {RED}(inutiliza los aserraderos) +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Crecer, pero sólo extender en selvas tropicales +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Crecer y extender en cualquier parte +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :No crecer y no extender {RED}(inutiliza los aserraderos) STR_CONFIG_SETTING_TOOLBAR_POS :Posición de la barra de herramientas principal: {STRING} STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT :Posicionamiento horizontal de la barra de herramientas principal en la parte superior de la pantalla @@ -1647,15 +1660,20 @@ STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT :Número máximo STR_CONFIG_SETTING_SOFT_LIMIT_VALUE :{COMMA} STR_CONFIG_SETTING_SOFT_LIMIT_DISABLED :deshabilitado STR_CONFIG_SETTING_ZOOM_MIN :Máximo acercamiento: {STRING} -STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nivel máximo de acercamiento para las ventanas de vista y la vista principal. Cuidado, aumentar el nivel de acercamiento incrementa el consumo de memoria del juego +STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT :Nivel máximo de acercamiento para las ventanas de vista y la vista principal. Los niveles altos de acercamiento incrementan el consumo de memoria del juego STR_CONFIG_SETTING_ZOOM_MAX :Máximo alejamiento: {STRING} -STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Nivel máximo de alejamiento para las ventanas de vista y la vista principal. Cuidado, niveles altos de alejamiento pueden ralentizar el juego +STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT :Nivel máximo de alejamiento para las ventanas de vista y la vista principal. Los niveles altos de alejamiento pueden ralentizar el juego +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN :Máxima resolución de sprites: {STRING} +STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT :Limita la máxima resolución de los sprites. Limitar la resolución de los sprites evitará usar gráficos de alta resolución incluso cuando sea posible. Esto puede ayudar a mantener unificado el aspecto del juego cuando se usa una mezcla de GRF con y sin gráficos de alta resolución STR_CONFIG_SETTING_ZOOM_LVL_MIN :4x STR_CONFIG_SETTING_ZOOM_LVL_IN_2X :2x 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_SPRITE_ZOOM_LVL_MIN :4x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_IN_2X :2x +STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_NORMAL :1x 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 :Ninguno @@ -1670,69 +1688,69 @@ STR_CONFIG_SETTING_LARGER_TOWNS_DISABLED :Ninguna STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER :Multiplicador inicial del 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_LINKGRAPH_INTERVAL :Actualizar el gráfico 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 gráfico de distribución consecutivos. Esta opción se refiere a los cálculos para cada uno de los componentes del gráfico, por lo cual fijar un valor no quiere decir que el gráfico completo se actualizará tras ese número de días. Cuanto menor sea, mayor tiempo de CPU será necesario para calcular el gráfico de distribución. Cuanto mayor sea, más tardará el gráfico de distribución en adaptarse a nuevas rutas. -STR_CONFIG_SETTING_LINKGRAPH_TIME :Usar {STRING}{NBSP}día{P 0:2 "" s} para el cálculo del gráfico de distribución -STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT :Tiempo a emplear en el cálculo de cada uno de los componentes del gráfico 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_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 consecutivos del grafo de distribución. 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 actualice 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}{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 STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC :simétrico STR_CONFIG_SETTING_DISTRIBUTION_PAX :Modo de distribución para pasajeros: {STRING} -STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :En una distribución simétrica, se envía la misma cantidad de pasajeros 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 pasajeros en ambas direcciones. Manual significa que no se realiza una distribución automática para los pasajeros +STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT :En una distribución "simétrica", se envía la misma cantidad de pasajeros de la estación A a la B que de la B a la A. En una distribución "asimétrica" se pueden enviar cantidades arbitrarias de pasajeros en ambas direcciones. "Manual" significa que no se realiza una distribución automática para los pasajeros 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_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 la B a la 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 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_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 la B a la 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 clima subártico, ya que así 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 :"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 gráfico 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_LINKGRAPH_ACCURACY_HELPTEXT :Este valor determina el tiempo de CPU empleado en calcular el gráfico 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 se destina la carga. STR_CONFIG_SETTING_DEMAND_DISTANCE :Efecto de la distancia en la demanda: {STRING} -STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Si se fija a un valor superior a 0, la distancia entre la estación origen A de cierta carga y un posible destino B afectará a la cantidad de carga que se enviará de A a B. Cuanto más lejos esté B de A, menos carga se enviará. Cuanto mayor sea el valor de esta opción, menos carga se enviará a estaciones distantes en favor de estaciones cercanas +STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT :Si se fija a un valor superior a 0, la distancia entre la estación origen A de cierta carga y un posible destino B afectará a la cantidad de carga que se enviará de A a B. Cuanto más lejos esté B de A, menos carga se enviará. Cuanto mayor sea el valor de este ajuste, menos carga se enviará a estaciones distantes en favor de estaciones cercanas STR_CONFIG_SETTING_DEMAND_SIZE :Cantidad de carga a devolver en modo simétrico: {STRING} -STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Fijar esta opción a menos de 100% hace que la distribución simétrica de carga se comporte de una forma más asimétrica. Se enviará menos carga de vuelta a la fuerza si una cantidad determinada es enviada a una estación. Si se fija a 0% la distribución simétrica se comporta como una distribución asimétrica +STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT :Fijar esta opción a menos de 100% provoca que la distribución "simétrica" de carga se comporte como una distribucion "asimétrica". Si una cantidad determinada es enviada a una estación, se forzará a enviar menos carga de vuelta. Si se fija a 0%, la distribución "simétrica" se comporta como una distribución "asimétrica". STR_CONFIG_SETTING_SHORT_PATH_SATURATION :Saturación de caminos cortos antes de usar aquellos de mayor capacidad: {STRING} STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT :Frecuentemente hay múltiples caminos posibles entre dos estaciones determinadas. En primer lugar se intentará saturar el camino más corto, para posteriormente saturar el segundo más corto y así sucesivamente. La saturación está determinada por una estimación de capacidad y uso planificado. Una vez que se hayan saturado todos los caminos, si todavía hay demanda, se sobrecargarán los caminos empezando por aquellos de mayor capacidad. La mayor parte de las veces, el algoritmo no estimará la capacidad de forma precisa. Esta opción permite especificar el porcentaje de saturación que debe de tener una línea en la primera parte del algoritmo antes de pasar a la siguiente línea. Fijarlo a menos de 100% permite evitar estaciones sobrecargadas en el caso de que se sobreestimen las capacidades -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unidades de velocidad: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Cada vez que se muestra una velocidad en la interfaz de usuario, se emplean las unidades seleccionadas +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY :Unidad de velocidad: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT :Cada vez que se muestra una velocidad en la interfaz de usuario, se empleará la unidad seleccionada STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL :Imperial (mph) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_METRIC :Métrico (km/h) STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_SI :SI (m/s) -STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS :Unidades de juego (casillas/día) +STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_GAMEUNITS :Unidad del juego (casillas/día) -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unidades de potencia de vehículos: {STRING} -STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Cada vez que se muestra la potencia de un vehículo en la interfaz de usuario, se emplean las unidades seleccionadas +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER :Unidad de potencia de vehículos: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT :Cada vez que se muestre la potencia de un vehículo en la interfaz de usuario, se empleará la unidad seleccionada STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL :Imperial (cv) 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 muestre un peso en la interfaz de usuario, se mostrará en su unidad preestablecida +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT :Unidad de peso: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT :Cada vez que se muestre un peso en la interfaz de usuario, se empleará la unidad seleccionada 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 muestre un volumen en la interfaz de usuario, se mostrará en su unidad preestablecida +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME :Unidad de volumen: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT :Cada vez que se muestre un volumen en la interfaz de usuario, se empleará la unidad seleccionada 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 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 :Unidad de esfuerzo de tracción: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT :Cada vez que se muestre un esfuerzo de tracción (también llamado fuerza de tracción) en la interfaz de usuario, se empleará la unidad seleccionada 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 muestre una altura en la interfaz de usuario, se mostrará en su unidad preestablecida +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT :Unidad de altura: {STRING} +STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT :Cada vez que se muestre una altura en la interfaz de usuario, se empleará la unidad seleccionada 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_LOCALISATION :{ORANGE}Localización -STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Gráficos +STR_CONFIG_SETTING_GRAPHICS :{ORANGE}Gráficas STR_CONFIG_SETTING_SOUND :{ORANGE}Efectos de sonido STR_CONFIG_SETTING_INTERFACE :{ORANGE}Interfaz STR_CONFIG_SETTING_INTERFACE_GENERAL :{ORANGE}General @@ -1743,7 +1761,7 @@ 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_ROUTING :{ORANGE}Enrutamiento STR_CONFIG_SETTING_LIMITATIONS :{ORANGE}Limitaciones STR_CONFIG_SETTING_ACCIDENTS :{ORANGE}Desastres / Accidentes STR_CONFIG_SETTING_GENWORLD :{ORANGE}Generación de mundo @@ -1753,17 +1771,17 @@ STR_CONFIG_SETTING_ENVIRONMENT_TOWNS :{ORANGE}Municip 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_AI_NPC :{ORANGE}Jugadores del ordenador (IA) STR_CONFIG_SETTING_PATHFINDER_NPF :NPF STR_CONFIG_SETTING_PATHFINDER_YAPF_RECOMMENDED :YAPF {BLUE}(Recomendado) -STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Encaminador para trenes: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Encaminador a emplear para trenes -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Encaminador para vehículos de carretera: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Encaminador a emplear para vehículos de carretera -STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Encaminador para barcos: {STRING} -STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Encaminador a emplear para barcos +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS :Enrutador para trenes: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT :Enrutador a emplear en trenes +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES :Enrutador para vehículos de carretera: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT :Enrutador a emplear en vehículos de carretera +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS :Enrutador para barcos: {STRING} +STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT :Enrutador a emplear en barcos STR_CONFIG_SETTING_REVERSE_AT_SIGNALS :Cambio de sentido automático en señales: {STRING} STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT :Permite a los trenes darse la vuelta ante una señal, si han esperado durante un tiempo lo suficientemente largo @@ -1771,7 +1789,7 @@ STR_CONFIG_SETTING_QUERY_CAPTION :{WHITE}Cambiar # Config errors STR_CONFIG_ERROR :{WHITE}Error en el fichero de configuración... -STR_CONFIG_ERROR_ARRAY :{WHITE}... error en vector '{STRING}' +STR_CONFIG_ERROR_ARRAY :{WHITE}... error en el vector '{STRING}' STR_CONFIG_ERROR_INVALID_VALUE :{WHITE}... valor inválido '{STRING}' para '{STRING}' STR_CONFIG_ERROR_TRAILING_CHARACTERS :{WHITE}... caracteres en blanco al final de la opción '{STRING}' STR_CONFIG_ERROR_DUPLICATE_GRFID :{WHITE}... ignorando NewGRF '{STRING}': GRF ID duplicado con '{STRING}' @@ -1789,11 +1807,15 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}No hay memoria suficiente STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Hubo un fallo al reservar {BYTES} de caché de sprites. La caché de sprites ha sido reducida a {BYTES}. Esto reducirá el rendimiento de OpenTTD. Para reducir los requisitos de memoria es posible deshabilitar los gráficos 32bpp o los niveles de zoom adicionales +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Error en los ajustes de vídeo... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... no se ha encontrado ninguna GPU compatible. La aceleración por hardware se ha desactivado + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} -STR_INTRO_NEW_GAME :{BLACK}Nuevo Juego -STR_INTRO_LOAD_GAME :{BLACK}Cargar Juego +STR_INTRO_NEW_GAME :{BLACK}Nueva Partida +STR_INTRO_LOAD_GAME :{BLACK}Cargar Partida STR_INTRO_PLAY_SCENARIO :{BLACK}Jugar Escenario STR_INTRO_PLAY_HEIGHTMAP :{BLACK}Jugar Mapa de alturas STR_INTRO_SCENARIO_EDITOR :{BLACK}Editor de Escenarios @@ -1807,24 +1829,24 @@ STR_INTRO_ONLINE_CONTENT :{BLACK}Contenid STR_INTRO_SCRIPT_SETTINGS :{BLACK}Configuración de Scripts STR_INTRO_QUIT :{BLACK}Salir -STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Comenzar nuevo juego. Ctrl+Clic omite la configuración del escenario -STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Cargar un juego guardado -STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Empezar juego nuevo, usando mapa de altura como terreno -STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Comienza un nuevo juego, usando un escenario personalizado desde el disco -STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Crear un mundo/escenario de juego personalizado -STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Empezar una partida multijugador +STR_INTRO_TOOLTIP_NEW_GAME :{BLACK}Comeenza una partida nueva. Ctrl+clic omite la configuración del escenario +STR_INTRO_TOOLTIP_LOAD_GAME :{BLACK}Carga una partida guardada +STR_INTRO_TOOLTIP_PLAY_HEIGHTMAP :{BLACK}Empieza una partida nueva, usando un mapa de alturas como terreno +STR_INTRO_TOOLTIP_PLAY_SCENARIO :{BLACK}Comienza una nueva partida, usando un escenario personalizado +STR_INTRO_TOOLTIP_SCENARIO_EDITOR :{BLACK}Crea un mundo/escenario de juego personalizado +STR_INTRO_TOOLTIP_MULTIPLAYER :{BLACK}Empieza una partida en multijugador -STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Elegir estilo de terreno 'templado' -STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Elegir estilo de terreno 'subártico' -STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Elegir estilo de terreno 'subtropical' -STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Elegir estilo de terreno 'juguetelandia' +STR_INTRO_TOOLTIP_TEMPERATE :{BLACK}Elige el estilo de terreno 'templado' +STR_INTRO_TOOLTIP_SUB_ARCTIC_LANDSCAPE :{BLACK}Elige el estilo de terreno 'subártico' +STR_INTRO_TOOLTIP_SUB_TROPICAL_LANDSCAPE :{BLACK}Elige el estilo de terreno 'subtropical' +STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Elige el estilo de terreno 'juguetelandia' -STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Muestra las opciones del juego -STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Mostrar tabla de puntuaciones -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 juego e IAs +STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Muestra las opciones de juego +STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Muestra la tabla de puntuaciones +STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Muestra la configuración +STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Muestra los ajustes de NewGRF +STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Comprueba si hay contenidos nuevos y actualizados para descargar +STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Muestra la configuración de Scripts de juego e IA STR_INTRO_TOOLTIP_QUIT :{BLACK}Salir de 'OpenTTD' STR_INTRO_BASESET :{BLACK}El conjunto de gráficos base actualmente seleccionado no encuentra {NUM} sprite{P "" s}. Comprueba si hay actualizaciones para el conjunto base, o usa otro totalmente actualizado. @@ -1838,19 +1860,19 @@ STR_QUIT_NO :{BLACK}No # Abandon game STR_ABANDON_GAME_CAPTION :{WHITE}Abandonar Juego -STR_ABANDON_GAME_QUERY :{YELLOW}¿Está seguro de que desea abandonar este juego? -STR_ABANDON_SCENARIO_QUERY :{YELLOW}¿Está seguro de que desea salir de este escenario? +STR_ABANDON_GAME_QUERY :{YELLOW}¿Estás seguro de que deseas abandonar esta partida? +STR_ABANDON_SCENARIO_QUERY :{YELLOW}¿Estás seguro de que deseas salir de este escenario? # Cheat window STR_CHEATS :{WHITE}Trucos STR_CHEATS_TOOLTIP :{BLACK}Las casillas indican si ha usado este truco antes -STR_CHEATS_NOTE :{BLACK}Nota: el uso de estos ajustes quedará registrado en la partida +STR_CHEATS_NOTE :{BLACK}Nota: el uso de estas opciones quedará registrado en la partida STR_CHEAT_MONEY :{LTBLUE}Incrementar dinero en {CURRENCY_LONG} -STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jugando como la empresa: {ORANGE}{COMMA} +STR_CHEAT_CHANGE_COMPANY :{LTBLUE}Jugar como la empresa: {ORANGE}{COMMA} 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_NO_JETCRASH :{LTBLUE}Los aviones a reacción no se estrellarán (tanto) en los aeropuertos pequeños: {ORANGE}{STRING} +STR_CHEAT_EDIT_MAX_HL :{LTBLUE}Editar 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 @@ -1858,28 +1880,28 @@ STR_CHEAT_SWITCH_CLIMATE_SUB_TROPICAL_LANDSCAPE :Terreno subtrop STR_CHEAT_SWITCH_CLIMATE_TOYLAND_LANDSCAPE :Terreno juguetelandia STR_CHEAT_CHANGE_DATE :{LTBLUE}Cambiar fecha: {ORANGE} {DATE_SHORT} STR_CHEAT_CHANGE_DATE_QUERY_CAPT :{WHITE}Cambiar año actual -STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir modificación de los valores de producción: {ORANGE}{STRING} +STR_CHEAT_SETUP_PROD :{LTBLUE}Permitir modificar los valores de producción: {ORANGE}{STRING} # Livery window STR_LIVERY_CAPTION :{WHITE}{COMPANY} - Esquema de Color -STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Mostrar esquema de colores general -STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Ver esquema de color de los trenes -STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Ver esquema de color de los vehículos de carretera -STR_LIVERY_SHIP_TOOLTIP :{BLACK}Ver esquema de color de los barcos -STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Mostrar esquema de color de aeronaves -STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Selecciona el color primario para el esquema seleccionado. Ctrl+Clic fijará este color para todo el esquema -STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Selecciona el color secundario para el esquema seleccionado. Ctrl+Clic fijará este color para todo el esquema +STR_LIVERY_GENERAL_TOOLTIP :{BLACK}Muestra los esquemas de color generales +STR_LIVERY_TRAIN_TOOLTIP :{BLACK}Muestra el esquema de color de los trenes +STR_LIVERY_ROAD_VEHICLE_TOOLTIP :{BLACK}Muestra el esquema de color de los vehículos de carretera +STR_LIVERY_SHIP_TOOLTIP :{BLACK}Muestra el esquema de color de los barcos +STR_LIVERY_AIRCRAFT_TOOLTIP :{BLACK}Muestra el esquema de color de las aeronaves +STR_LIVERY_PRIMARY_TOOLTIP :{BLACK}Selecciona el color primario para el esquema seleccionado. Ctrl+clic fijará este color para todo el esquema +STR_LIVERY_SECONDARY_TOOLTIP :{BLACK}Selecciona el color secundario para el esquema seleccionado. Ctrl+clic fijará este color para todo el esquema STR_LIVERY_PANEL_TOOLTIP :{BLACK}Selecciona un esquema de color a modificar, o selecciona varios pulsando Ctrl+Clic. Pulsa en la caja para cambiar el uso del esquema -STR_LIVERY_DEFAULT :Estación normal +STR_LIVERY_DEFAULT :Estación Normal STR_LIVERY_STEAM :Locomotora a Vapor STR_LIVERY_DIESEL :Locomotora Diésel STR_LIVERY_ELECTRIC :Locomotora Eléctrica STR_LIVERY_MONORAIL :Locomotora Monorraíl STR_LIVERY_MAGLEV :Locomotora Maglev -STR_LIVERY_DMU :DMU -STR_LIVERY_EMU :EMU +STR_LIVERY_DMU :UMD +STR_LIVERY_EMU :UME STR_LIVERY_PASSENGER_WAGON_STEAM :Vagón Pasajeros (Vapor) STR_LIVERY_PASSENGER_WAGON_DIESEL :Vagón Pasajeros (Diésel) STR_LIVERY_PASSENGER_WAGON_ELECTRIC :Vagón Pasajeros (Eléctrico) @@ -1898,7 +1920,7 @@ STR_LIVERY_FREIGHT_TRAM :Tranvía de Car # Face selection window STR_FACE_CAPTION :{WHITE}Selección de cara -STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancelar selección de nueva cara +STR_FACE_CANCEL_TOOLTIP :{BLACK}Cancela la selección de cara nueva STR_FACE_OK_TOOLTIP :{BLACK}Aceptar selección de nueva cara STR_FACE_RANDOM :{BLACK}Aleatorio @@ -1933,9 +1955,9 @@ STR_FACE_MOUSTACHE_EARRING_TOOLTIP :{BLACK}Activar STR_FACE_HAIR :Pelo: STR_FACE_HAIR_TOOLTIP :{BLACK}Cambiar pelo STR_FACE_EYEBROWS :Cejas: -STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Cambiar cejas +STR_FACE_EYEBROWS_TOOLTIP :{BLACK}Cambia las cejas STR_FACE_EYECOLOUR :Color ojos: -STR_FACE_EYECOLOUR_TOOLTIP :{BLACK}Cambiar color de ojos +STR_FACE_EYECOLOUR_TOOLTIP :{BLACK}Cambia el color de ojos STR_FACE_GLASSES :Gafas: STR_FACE_GLASSES_TOOLTIP :{BLACK}Activar gafas STR_FACE_GLASSES_TOOLTIP_2 :{BLACK}Cambiar gafas @@ -1945,11 +1967,11 @@ STR_FACE_LIPS :Labios: STR_FACE_MOUSTACHE :Bigote: STR_FACE_LIPS_MOUSTACHE_TOOLTIP :{BLACK}Cambiar labios o bigote STR_FACE_CHIN :Barbilla: -STR_FACE_CHIN_TOOLTIP :{BLACK}Cambiar barbilla +STR_FACE_CHIN_TOOLTIP :{BLACK}Cambia la barbilla STR_FACE_JACKET :Chaqueta: STR_FACE_JACKET_TOOLTIP :{BLACK}Cambiar chaqueta STR_FACE_COLLAR :Cuello: -STR_FACE_COLLAR_TOOLTIP :{BLACK}Cambiar cuello +STR_FACE_COLLAR_TOOLTIP :{BLACK}Cambia el cuello STR_FACE_TIE :Corbata: STR_FACE_EARRING :Pendientes: STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Cambiar corbata o pendientes @@ -1957,25 +1979,25 @@ STR_FACE_TIE_EARRING_TOOLTIP :{BLACK}Cambiar # Network server list STR_NETWORK_SERVER_LIST_CAPTION :{WHITE}Multijugador STR_NETWORK_SERVER_LIST_PLAYER_NAME :{BLACK}Nombre del jugador: -STR_NETWORK_SERVER_LIST_ENTER_NAME_TOOLTIP :{BLACK}Este es el nombre con el que otros jugadores le identificarán +STR_NETWORK_SERVER_LIST_ENTER_NAME_TOOLTIP :{BLACK}Este es el nombre con el que otros jugadores te identificarán STR_NETWORK_SERVER_LIST_GAME_NAME :{BLACK}Nombre STR_NETWORK_SERVER_LIST_GAME_NAME_TOOLTIP :{BLACK}Nombre de la partida 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 online / máx. clientes{}Empresas online / máximo empresas +STR_NETWORK_SERVER_LIST_CLIENTS_CAPTION_TOOLTIP :{BLACK}Clientes conectados / máx. clientes{}Empresas actuales / máximo empresas STR_NETWORK_SERVER_LIST_MAP_SIZE_SHORT :{BLACK}{COMMA}x{COMMA} STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION :{BLACK}Tamaño del mapa -STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Tamaño del mapa del juego{}Clic para ordenar por área +STR_NETWORK_SERVER_LIST_MAP_SIZE_CAPTION_TOOLTIP :{BLACK}Tamaño del mapa del juego{}Clica para ordenar por área STR_NETWORK_SERVER_LIST_DATE_CAPTION :{BLACK}Fecha STR_NETWORK_SERVER_LIST_DATE_CAPTION_TOOLTIP :{BLACK}Fecha actual STR_NETWORK_SERVER_LIST_YEARS_CAPTION :{BLACK}Años STR_NETWORK_SERVER_LIST_YEARS_CAPTION_TOOLTIP :{BLACK}Número de años{}que han transcurrido en la partida STR_NETWORK_SERVER_LIST_INFO_ICONS_TOOLTIP :{BLACK}Idioma, versión del servidor, etc. -STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Pulse en un juego de la lista para seleccionarlo -STR_NETWORK_SERVER_LIST_LAST_JOINED_SERVER :{BLACK}Servidor al que has estado conectado la última vez: -STR_NETWORK_SERVER_LIST_CLICK_TO_SELECT_LAST :{BLACK}Pulsa para seleccionar el servidor al que has jugado la última vez +STR_NETWORK_SERVER_LIST_CLICK_GAME_TO_SELECT :{BLACK}Clica en una partida de la lista para seleccionarla +STR_NETWORK_SERVER_LIST_LAST_JOINED_SERVER :{BLACK}Servidor al que te conectaste la última vez: +STR_NETWORK_SERVER_LIST_CLICK_TO_SELECT_LAST :{BLACK}Clica para seleccionar el servidor al que jugaste la última vez STR_NETWORK_SERVER_LIST_GAME_INFO :{SILVER}INFORMACIÓN DEL JUEGO STR_NETWORK_SERVER_LIST_CLIENTS :{SILVER}Clientes: {WHITE}{COMMA} / {COMMA} - {COMMA} / {COMMA} @@ -1987,34 +2009,34 @@ STR_NETWORK_SERVER_LIST_SERVER_ADDRESS :{SILVER}Direcci STR_NETWORK_SERVER_LIST_START_DATE :{SILVER}Fecha inicio: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_CURRENT_DATE :{SILVER}Fecha actual: {WHITE}{DATE_SHORT} STR_NETWORK_SERVER_LIST_PASSWORD :{SILVER}¡Protegido por contraseña! -STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVIDOR APAGADO +STR_NETWORK_SERVER_LIST_SERVER_OFFLINE :{SILVER}SERVIDOR DESCONECTADO STR_NETWORK_SERVER_LIST_SERVER_FULL :{SILVER}SERVIDOR LLENO STR_NETWORK_SERVER_LIST_VERSION_MISMATCH :{SILVER}INCOMPATIBILIDAD DE VERSIONES STR_NETWORK_SERVER_LIST_GRF_MISMATCH :{SILVER}PROBLEMA CON NEWGRF STR_NETWORK_SERVER_LIST_JOIN_GAME :{BLACK}Unirme al juego -STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Recargar servidor -STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Recargar información del servidor +STR_NETWORK_SERVER_LIST_REFRESH :{BLACK}Actualizar servidor +STR_NETWORK_SERVER_LIST_REFRESH_TOOLTIP :{BLACK}Actualiza la información del servidor -STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :Buscar en línea -STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK} Buscar servidores públicos en Internet -STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Buscar en LAN -STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Buscar en LAN para los servidores +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET :{BLACK}Buscar en Internet +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_INTERNET_TOOLTIP :{BLACK} Busca servidores públicos en Internet +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN :{BLACK}Buscar en red de área local +STR_NETWORK_SERVER_LIST_SEARCH_SERVER_LAN_TOOLTIP :{BLACK}Busca servidores en red local (LAN) STR_NETWORK_SERVER_LIST_ADD_SERVER :{BLACK}Añadir servidor STR_NETWORK_SERVER_LIST_ADD_SERVER_TOOLTIP :{BLACK}Añade el servidor a una lista que siempre será comprobada para buscar juegos en marcha -STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Comenzar servidor -STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Comenzar un nuevo servidor +STR_NETWORK_SERVER_LIST_START_SERVER :{BLACK}Iniciar servidor +STR_NETWORK_SERVER_LIST_START_SERVER_TOOLTIP :{BLACK}Inicia un servidor nuevo STR_NETWORK_SERVER_LIST_PLAYER_NAME_OSKTITLE :{BLACK}Introduce tu nombre STR_NETWORK_SERVER_LIST_ENTER_IP :{BLACK}Introduce la dirección IP del servidor # Start new multiplayer server -STR_NETWORK_START_SERVER_CAPTION :{WHITE}Empezar nuevo juego multijugador +STR_NETWORK_START_SERVER_CAPTION :{WHITE}Empezar nueva partida en multijugador STR_NETWORK_START_SERVER_NEW_GAME_NAME :{BLACK}Nombre del juego: -STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}La partida será anunciada a otros jugadores en el menú de selección de partida multijugador +STR_NETWORK_START_SERVER_NEW_GAME_NAME_TOOLTIP :{BLACK}La partida se expondrá a otros jugadores en el menú de selección de partida multijugador STR_NETWORK_START_SERVER_SET_PASSWORD :{BLACK}Establecer contraseña -STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protege tu juego con una contraseña si no quieres que otras personas se unan a él +STR_NETWORK_START_SERVER_PASSWORD_TOOLTIP :{BLACK}Protege tu partida con una contraseña si no quieres que sea universalmente accesible STR_NETWORK_START_SERVER_ADVERTISED_LABEL :{BLACK}Público STR_NETWORK_START_SERVER_ADVERTISED_TOOLTIP :{BLACK}Permite escoger entre una partida pública (internet) y una partida privada (LAN) @@ -2022,15 +2044,15 @@ 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}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_NUMBER_OF_CLIENTS_TOOLTIP :{BLACK}Selecciona el 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}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_NUMBER_OF_COMPANIES_TOOLTIP :{BLACK}Limita el número de empresas en el servidor STR_NETWORK_START_SERVER_SPECTATORS_SELECT :{BLACK}{NUM} espectador{P "" es} 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_NUMBER_OF_SPECTATORS_TOOLTIP :{BLACK}Limita el numero de observadores en el servidor 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 +STR_NETWORK_START_SERVER_LANGUAGE_TOOLTIP :{BLACK}Los otros jugadores sabrán qué idioma se habla en este servidor STR_NETWORK_START_SERVER_NEW_GAME_NAME_OSKTITLE :{BLACK}Introduce un nombre para el juego en red @@ -2078,7 +2100,7 @@ STR_NETWORK_LANG_LATVIAN :Letón STR_NETWORK_GAME_LOBBY_CAPTION :{WHITE}Sala de espera de la partida multijugador STR_NETWORK_GAME_LOBBY_PREPARE_TO_JOIN :{BLACK}Preparándose para unirse: {ORANGE}{STRING} -STR_NETWORK_GAME_LOBBY_COMPANY_LIST_TOOLTIP :{BLACK}Listado de empresas actualmente en el juego. Puede unirse a una empresa existente o crear una nueva si hay espacio libre +STR_NETWORK_GAME_LOBBY_COMPANY_LIST_TOOLTIP :{BLACK}Listado de empresas actualmente en la partida. Puedes unirte a una empresa existente o crear una nueva si hay espacio libre STR_NETWORK_GAME_LOBBY_COMPANY_INFO :{SILVER}INFORMACIÓN DE LA EMPRESA STR_NETWORK_GAME_LOBBY_COMPANY_NAME :{SILVER}Nombre empresa: {WHITE}{STRING} @@ -2093,11 +2115,11 @@ STR_NETWORK_GAME_LOBBY_STATIONS :{SILVER}Estacio STR_NETWORK_GAME_LOBBY_PLAYERS :{SILVER}Jugadores: {WHITE}{STRING} STR_NETWORK_GAME_LOBBY_NEW_COMPANY :{BLACK}Nueva empresa -STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Crear nueva empresa +STR_NETWORK_GAME_LOBBY_NEW_COMPANY_TOOLTIP :{BLACK}Crea una empresa nueva STR_NETWORK_GAME_LOBBY_SPECTATE_GAME :{BLACK}Observar juego -STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Observar una partida como espectador +STR_NETWORK_GAME_LOBBY_SPECTATE_GAME_TOOLTIP :{BLACK}Observa una partida como espectador STR_NETWORK_GAME_LOBBY_JOIN_COMPANY :{BLACK}Unirse a empresa -STR_NETWORK_GAME_LOBBY_JOIN_COMPANY_TOOLTIP :{BLACK}Ayudar a dirigir esta empresa +STR_NETWORK_GAME_LOBBY_JOIN_COMPANY_TOOLTIP :{BLACK}Ayuda a dirigir esta empresa # Network connecting window STR_NETWORK_CONNECTING_CAPTION :{WHITE}Conectando... @@ -2110,27 +2132,27 @@ STR_NETWORK_CONNECTING_4 :{BLACK}(4/6) De STR_NETWORK_CONNECTING_5 :{BLACK}(5/6) Procesando datos... STR_NETWORK_CONNECTING_6 :{BLACK}(6/6) Registrando... -STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Recibiendo información del juego... +STR_NETWORK_CONNECTING_SPECIAL_1 :{BLACK}Recibiendo información de la partida... STR_NETWORK_CONNECTING_SPECIAL_2 :{BLACK}Recibiendo información de la empresa... ############ End of leave-in-this-order -STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} cliente{P "" s} delante de usted -STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}{BYTES} descargados por el momento +STR_NETWORK_CONNECTING_WAITING :{BLACK}{NUM} cliente{P "" s} delante de ti +STR_NETWORK_CONNECTING_DOWNLOADING_1 :{BLACK}{BYTES} descargados hasta el momento STR_NETWORK_CONNECTING_DOWNLOADING_2 :{BLACK}{BYTES} / {BYTES} descargados STR_NETWORK_CONNECTION_DISCONNECT :{BLACK}Desconectar -STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Introduzca la contraseña -STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Introduzca la contraseña +STR_NETWORK_NEED_GAME_PASSWORD_CAPTION :{WHITE}Servidor protegido. Introduce la contraseña +STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Empresa protegida. Introduce la contraseña STR_NETWORK_COMPANY_LIST_CLIENT_LIST_CAPTION :{WHITE}Lista de Clientes # Network company list added strings STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Lista de clientes -STR_NETWORK_COMPANY_LIST_SPECTATE :Presenciar +STR_NETWORK_COMPANY_LIST_SPECTATE :Observar STR_NETWORK_COMPANY_LIST_NEW_COMPANY :Nueva empresa # Network client list -STR_NETWORK_CLIENTLIST_KICK :Expulsar -STR_NETWORK_CLIENTLIST_BAN :Banear +STR_NETWORK_CLIENTLIST_KICK :Expulsar (Kick) +STR_NETWORK_CLIENTLIST_BAN :Prohibir (Ban) STR_NETWORK_CLIENTLIST_SPEAK_TO_ALL :Hablar a todos STR_NETWORK_CLIENTLIST_SPEAK_TO_COMPANY :Hablar a empresa STR_NETWORK_CLIENTLIST_SPEAK_TO_CLIENT :Mensaje privado @@ -2150,8 +2172,8 @@ STR_COMPANY_PASSWORD_MAKE_DEFAULT_TOOLTIP :{BLACK}Usa la c STR_COMPANY_VIEW_JOIN :{BLACK}Unirse STR_COMPANY_VIEW_JOIN_TOOLTIP :{BLACK}Unirse y jugar como esta empresa STR_COMPANY_VIEW_PASSWORD :{BLACK}Contraseña -STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Protege por contraseña tu empresa para prevenir que usuarios no autorizados se unan a ella -STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Configurar contraseña de empresa +STR_COMPANY_VIEW_PASSWORD_TOOLTIP :{BLACK}Protege tu empresa con una contraseña para evitar que usuarios no autorizados se unan a ella +STR_COMPANY_VIEW_SET_PASSWORD :{BLACK}Establecer contraseña de empresa # Network chat STR_NETWORK_CHAT_SEND :{BLACK}Enviar @@ -2168,13 +2190,13 @@ STR_NETWORK_CHAT_OSKTITLE :{BLACK}Introduc # Network messages STR_NETWORK_ERROR_NOTAVAILABLE :{WHITE}No se han encontrado dispositivos de red -STR_NETWORK_ERROR_NOSERVER :{WHITE}No se pudo encontrar ningún juego en red +STR_NETWORK_ERROR_NOSERVER :{WHITE}No se ha podido encontrar ningún juego en red STR_NETWORK_ERROR_NOCONNECTION :{WHITE}El servidor no responde a la petición -STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}No se pudo conectar debido a incompatibilidad de NewGRF +STR_NETWORK_ERROR_NEWGRF_MISMATCH :{WHITE}No se ha podido conectar debido a incompatibilidad de NewGRF STR_NETWORK_ERROR_DESYNC :{WHITE}La sincronización del juego en red ha fallado STR_NETWORK_ERROR_LOSTCONNECTION :{WHITE}La conexión con el juego en red se ha perdido -STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}No se pudo cargar partida -STR_NETWORK_ERROR_SERVER_START :{WHITE}No se pudo iniciar servidor +STR_NETWORK_ERROR_SAVEGAMEERROR :{WHITE}No se ha podido cargar la partida +STR_NETWORK_ERROR_SERVER_START :{WHITE}No se ha podido iniciar el servidor STR_NETWORK_ERROR_CLIENT_START :{WHITE}No se pudo conectar STR_NETWORK_ERROR_TIMEOUT :{WHITE}Tiempo de espera agotado en conexión #{NUM} STR_NETWORK_ERROR_SERVER_ERROR :{WHITE}Se ha producido un error de protocolo y la conexión ha sido cerrada @@ -2186,10 +2208,10 @@ STR_NETWORK_ERROR_KICKED :{WHITE}Has sido STR_NETWORK_ERROR_KICK_MESSAGE :{WHITE}Razón: {STRING} STR_NETWORK_ERROR_CHEATER :{WHITE}No se permiten trucos en este servidor STR_NETWORK_ERROR_TOO_MANY_COMMANDS :{WHITE}Estabas enviando demasiados comandos al servidor -STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Tardaste demasiado en introducir la contraseña +STR_NETWORK_ERROR_TIMEOUT_PASSWORD :{WHITE}Has tardado demasiado en introducir la contraseña STR_NETWORK_ERROR_TIMEOUT_COMPUTER :{WHITE}Su ordenador es demasiado lento para seguir la velocidad del servidor -STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Su ordenador tardó demasiado en descargar el mapa -STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Su ordenador tardó demasiado en conectar al servidor +STR_NETWORK_ERROR_TIMEOUT_MAP :{WHITE}Su ordenador necesitó demasiado tiempo para descargar el mapa +STR_NETWORK_ERROR_TIMEOUT_JOIN :{WHITE}Su ordenador necesitó demasiado tiempo para conectar al servidor ############ Leave those lines in this order!! STR_NETWORK_ERROR_CLIENT_GENERAL :error general @@ -2208,10 +2230,10 @@ STR_NETWORK_ERROR_CLIENT_KICKED :expulsado por e STR_NETWORK_ERROR_CLIENT_CHEATER :ha intentado usar un truco STR_NETWORK_ERROR_CLIENT_SERVER_FULL :servidor lleno STR_NETWORK_ERROR_CLIENT_TOO_MANY_COMMANDS :estaba enviando demasiados comandos -STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :no se recibió la contraseña a tiempo -STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :timeout general -STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :la descarga del mapa llevó demasiado tiempo -STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :el procesado del mapa llevó demasiado tiempo +STR_NETWORK_ERROR_CLIENT_TIMEOUT_PASSWORD :no se ha recibido la contraseña a tiempo +STR_NETWORK_ERROR_CLIENT_TIMEOUT_COMPUTER :tiempo agotado en general +STR_NETWORK_ERROR_CLIENT_TIMEOUT_MAP :la descarga del mapa ha necesitado demasiado tiempo +STR_NETWORK_ERROR_CLIENT_TIMEOUT_JOIN :el procesado del mapa ha necesitado demasiado tiempo ############ End of leave-in-this-order STR_NETWORK_ERROR_CLIENT_GUI_LOST_CONNECTION_CAPTION :{WHITE}Posible pérdida de conexión @@ -2231,19 +2253,19 @@ STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :número de juga STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :clientes conectándose STR_NETWORK_SERVER_MESSAGE_GAME_REASON_MANUAL :manual STR_NETWORK_SERVER_MESSAGE_GAME_REASON_GAME_SCRIPT :script de juego -STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :Esperando por actualizacion del link graph +STR_NETWORK_SERVER_MESSAGE_GAME_REASON_LINK_GRAPH :esperando actualizacion del grafo de enlaces ############ End of leave-in-this-order STR_NETWORK_MESSAGE_CLIENT_LEAVING :abandonando -STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} se ha unido al juego -STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} se ha unido al juego (Cliente #{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_JOINED :*** {STRING} se ha unido a la partida +STR_NETWORK_MESSAGE_CLIENT_JOINED_ID :*** {STRING} se ha unido a la partida (Cliente #{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_COMPANY_JOIN :*** {STRING} se ha unido a la empresa #{2:NUM} STR_NETWORK_MESSAGE_CLIENT_COMPANY_SPECTATE :*** {STRING} se ha unido como espectador -STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ha creado una nueva empresa (#{2:NUM}) +STR_NETWORK_MESSAGE_CLIENT_COMPANY_NEW :*** {STRING} ha creado una empresa nueva (#{2:NUM}) STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {STRING} ha abandonado el juego ({2:STRING}) STR_NETWORK_MESSAGE_NAME_CHANGE :*** {STRING} ha cambiado su nombre a {STRING} STR_NETWORK_MESSAGE_GIVE_MONEY :*** {STRING} dio {2:CURRENCY_LONG} a {1:STRING} STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}El servidor ha cerrado la sesión -STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}Se está reiniciando el servidor...{}Espere por favor... +STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}El servidor está reiniciando...{}Espera por favor... STR_NETWORK_MESSAGE_KICKED :*** {STRING} ha sido expulsado. Razón: ({STRING}) # Content downloading window @@ -2252,22 +2274,22 @@ STR_CONTENT_TYPE_CAPTION :{BLACK}Tipo STR_CONTENT_TYPE_CAPTION_TOOLTIP :{BLACK}Tipo de contenido STR_CONTENT_NAME_CAPTION :{BLACK}Nombre STR_CONTENT_NAME_CAPTION_TOOLTIP :{BLACK}Nombre del contenido -STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Pincha en una línea para ver los detalles{}Pincha en los cajetines para seleccionar las descargas +STR_CONTENT_MATRIX_TOOLTIP :{BLACK}Clic en una línea para ver los detalles{}Clic en los cajetines para seleccionar las descargas STR_CONTENT_SELECT_ALL_CAPTION :{BLACK}Seleccionar todas STR_CONTENT_SELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marca todo el contenido para descarga -STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Sel. actualizaciones -STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Marca para descargar todo el contenido existente que ha sido actualizado +STR_CONTENT_SELECT_UPDATES_CAPTION :{BLACK}Seleccionar actualizaciones +STR_CONTENT_SELECT_UPDATES_CAPTION_TOOLTIP :{BLACK}Marca para descargar todo el contenido que es una actualizacion del contenido existente STR_CONTENT_UNSELECT_ALL_CAPTION :{BLACK}Desmarcar todas STR_CONTENT_UNSELECT_ALL_CAPTION_TOOLTIP :{BLACK}Marca todo el contenido para no ser descargado STR_CONTENT_SEARCH_EXTERNAL :{BLACK}Buscar en páginas externas -STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Buscar contenido no disponible en el servicio de contenido de OpenTTD en páginas externas no asociadas con OpenTTD +STR_CONTENT_SEARCH_EXTERNAL_TOOLTIP :{BLACK}Busca contenido no disponible en el servicio de contenido de OpenTTD en páginas externas no asociadas con OpenTTD STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER_CAPTION :{WHITE}¡Estás abandonando OpenTTD! -STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Los términos y condiciones para descargar contenido de páginas externas varían.{}Será necesario referirse a dichas páginas par obtener instrucciones de cómo instalar su contenido en OpenTTD.{}¿Desea continuar? +STR_CONTENT_SEARCH_EXTERNAL_DISCLAIMER :{WHITE}Los términos y condiciones para descargar contenido de páginas externas varían.{}Será necesario consultar dichas páginas para obtener instrucciones de cómo instalar el contenido en OpenTTD.{}¿Desea continuar? STR_CONTENT_FILTER_TITLE :{BLACK}Etiqueta/nombre del filtro STR_CONTENT_OPEN_URL :{BLACK}Visitar web STR_CONTENT_OPEN_URL_TOOLTIP :{BLACK}Visitar la página web de este contenido STR_CONTENT_DOWNLOAD_CAPTION :{BLACK}Descargar -STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Comenzar a descargar el contenido seleccionado +STR_CONTENT_DOWNLOAD_CAPTION_TOOLTIP :{BLACK}Comienza a descargar el contenido seleccionado STR_CONTENT_TOTAL_DOWNLOAD_SIZE :{SILVER}Tamaño total de la descarga: {WHITE}{BYTES} STR_CONTENT_DETAIL_TITLE :{SILVER}INFORMACIÓN DEL CONTENIDO STR_CONTENT_DETAIL_SUBTITLE_UNSELECTED :{SILVER}No has seleccionado esto para ser descargado @@ -2315,10 +2337,11 @@ 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 archivo 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 pudo encontrarse 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 ha podido 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 + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opciones de Transparencia STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Ajustar transparencia para carteles. Ctrl+Clic para bloquear @@ -2330,13 +2353,13 @@ STR_TRANSPARENT_BRIDGES_TOOLTIP :{BLACK}Ajustar STR_TRANSPARENT_STRUCTURES_TOOLTIP :{BLACK}Ajustar transparencia para estructuras como faros o antenas. Ctrl+Clic para bloquear STR_TRANSPARENT_CATENARY_TOOLTIP :{BLACK}Ajustar transparencia para catenaria. Ctrl+Clic para bloquear STR_TRANSPARENT_LOADING_TOOLTIP :{BLACK}Ajustar transparencia para los indicadores de carga. Ctrl+Clic para bloquear -STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Poner objetos invisibles en vez de transparentes +STR_TRANSPARENT_INVISIBLE_TOOLTIP :{BLACK}Establece los objetos como invisibles en vez de transparentes # Linkgraph legend window -STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Leyenda de Movimientos de Carga +STR_LINKGRAPH_LEGEND_CAPTION :{BLACK}Leyenda de Flujos de Carga STR_LINKGRAPH_LEGEND_ALL :{BLACK}Todas STR_LINKGRAPH_LEGEND_NONE :{BLACK}Ninguna -STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Seleccione las compañías a mostrar +STR_LINKGRAPH_LEGEND_SELECT_COMPANIES :{BLACK}Seleccione las empresas a mostrar STR_LINKGRAPH_LEGEND_COMPANY_TOOLTIP :{BLACK}{STRING}{}{COMPANY} # Linkgraph legend window and linkgraph legend in smallmap @@ -2345,13 +2368,13 @@ STR_LINKGRAPH_LEGEND_SATURATED :{TINY_FONT}{BLA STR_LINKGRAPH_LEGEND_OVERLOADED :{TINY_FONT}{BLACK}sobrecargado # Base for station construction window(s) -STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Mostrar área de recogida -STR_STATION_BUILD_COVERAGE_OFF :{BLACK}Apagado -STR_STATION_BUILD_COVERAGE_ON :{BLACK}Encendido -STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}No mostrar área de recogida del lugar propuesto -STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Mostrar área de recogida del lugar propuesto +STR_STATION_BUILD_COVERAGE_AREA_TITLE :{BLACK}Mostrar área de cobertura +STR_STATION_BUILD_COVERAGE_OFF :{BLACK}No +STR_STATION_BUILD_COVERAGE_ON :{BLACK}Sí +STR_STATION_BUILD_COVERAGE_AREA_OFF_TOOLTIP :{BLACK}Oculta el área de cobertura del lugar propuesto +STR_STATION_BUILD_COVERAGE_AREA_ON_TOOLTIP :{BLACK}Muestra área de cobertura del lugar propuesto STR_STATION_BUILD_ACCEPTS_CARGO :{BLACK}Acepta: {GOLD}{CARGO_LIST} -STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Provisiones: {GOLD}{CARGO_LIST} +STR_STATION_BUILD_SUPPLIES_CARGO :{BLACK}Suministra: {GOLD}{CARGO_LIST} # Join station window STR_JOIN_STATION_CAPTION :{WHITE}Unir estación @@ -2371,13 +2394,13 @@ STR_RAIL_TOOLBAR_MAGLEV_CONSTRUCTION_CAPTION :Construcción d STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TRACK :{BLACK}Construir tramo de ferrocarril. Ctrl permite retirar ferrocarriles. Mayús permite mostrar una estimación del precio STR_RAIL_TOOLBAR_TOOLTIP_BUILD_AUTORAIL :{BLACK}Construir tramos de ferrocarril usando modo Autorraíl. Ctrl permite retirar ferrocarriles. Mayús permite mostrar una estimación del precio -STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construir depósito de trenes (para comprar y dar servicio a trenes). Mayús permite mostrar una estimación del precio +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_TRAIN_DEPOT_FOR_BUILDING :{BLACK}Construye un depósito de trenes (para comprar y dar mantenimiento a trenes). Mayús 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. Mayús 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. Mayús 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+Clic cambia a la ventana de selección de señales. Mayús cambia entre construir/mostrar el precio estimado +STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_SIGNALS :{BLACK}Construye señales de ferrocarril. Ctrl cambia entre señales mecánicas y eléctricas{}Arrastrando se construyen señales a lo largo del tramo recto de ferrocarril seleccionado. Ctrl construye señales hasta el siguiente cruce o señal{}Ctrl+clic cambia a la ventana de selección de señales. Mayús cambia entre construir/mostrar el precio estimado STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_BRIDGE :{BLACK}Construir puente de ferrocarril. Mayús permite mostrar una estimación del precio STR_RAIL_TOOLBAR_TOOLTIP_BUILD_RAILROAD_TUNNEL :{BLACK}Construir túnel ferroviario. Mayús 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 +STR_RAIL_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR :{BLACK}Alterna 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 STR_RAIL_TOOLBAR_TOOLTIP_CONVERT_RAIL :{BLACK}Convertir/Actualizar tipo de ferrocarril. Mayús permite mostrar una estimación del precio STR_RAIL_NAME_RAILROAD :Ferrocarril @@ -2387,22 +2410,22 @@ STR_RAIL_NAME_MAGLEV :Maglev # Rail depot construction window STR_BUILD_DEPOT_TRAIN_ORIENTATION_CAPTION :{WHITE}Orientación del depósito -STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Seleccione orientación del depósito de trenes +STR_BUILD_DEPOT_TRAIN_ORIENTATION_TOOLTIP :{BLACK}Selecciona la orientación del depósito de trenes # Rail waypoint construction window STR_WAYPOINT_CAPTION :{WHITE}Punto de ruta -STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Seleccione tipo de punto de ruta +STR_WAYPOINT_GRAPHICS_TOOLTIP :{BLACK}Selecciona el tipo de punto de ruta # Rail station construction window STR_STATION_BUILD_RAIL_CAPTION :{WHITE}Selección de estación STR_STATION_BUILD_ORIENTATION :{BLACK}Orientación -STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Elige orientación de la estación de trenes +STR_STATION_BUILD_RAILROAD_ORIENTATION_TOOLTIP :{BLACK}Selecciona la orientación de la estación de trenes STR_STATION_BUILD_NUMBER_OF_TRACKS :{BLACK}Número de andenes -STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Elige número de andenes de la estación de trenes +STR_STATION_BUILD_NUMBER_OF_TRACKS_TOOLTIP :{BLACK}Selecciona el número de andenes de la estación de trenes STR_STATION_BUILD_PLATFORM_LENGTH :{BLACK}Longitud de andén -STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Elige longitud de la estación de trenes +STR_STATION_BUILD_PLATFORM_LENGTH_TOOLTIP :{BLACK}Selecciona la longitud de la estación de trenes STR_STATION_BUILD_DRAG_DROP :{BLACK}Arrastrar y soltar -STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Construir una estación mediante arrastrar y soltar +STR_STATION_BUILD_DRAG_DROP_TOOLTIP :{BLACK}Construye una estación arrastrando y soltando STR_STATION_BUILD_STATION_CLASS_TOOLTIP :{BLACK}Selecciona el tipo de estación a mostrar STR_STATION_BUILD_STATION_TYPE_TOOLTIP :{BLACK}Selecciona el tipo de estación a construir @@ -2424,15 +2447,15 @@ STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Señal d STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Señal combo (eléctrica){}La señal combo actúa como señal de entrada y salida a la vez. Esto permite construir grandes "árboles" de señales condicionales STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Señal de ruta (eléctrica){}Una señal de ruta permite a más de un tren entrar a un bloque de señales a la vez, si el tren puede reservar una ruta hasta un lugar seguro. Pueden ser rebasadas desde atrás STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}Señal de ruta de sentido único (eléctrica){}Una señal de ruta permite a más de un tren entrar a un bloque de señales a la vez, si el tren puede reservar una ruta hasta un lugar seguro. No pueden ser rebasadas desde atrás -STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Convertir señal{}Cuando es seleccionado, pulsar sobre una señal existente la convierte en el tipo y variante indicados. Pulsar Ctrl+Clic permite cambiar de variante. Mayús+Clic muestra una estimación del precio de conversión +STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Convierte la señal{}Cuando es seleccionado, pulsa sobre una señal existente para convertirla en el tipo y variante indicados. Pulsa Ctrl+clic para cambiar de variante. Mayús+clic muestra una estimación del precio de conversión STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_TOOLTIP :{BLACK}Distancia de arrastre de señales STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_DECREASE_TOOLTIP :{BLACK}Reducir la distancia de arrastre de señales STR_BUILD_SIGNAL_DRAG_SIGNALS_DENSITY_INCREASE_TOOLTIP :{BLACK}Incrementar la distancia de arrastre de señales # Bridge selection window -STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Seleccione Puente de Ferrocarril -STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Elige puente de carretera -STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Selección de puente - Clic en el puente elegido para construirlo +STR_SELECT_RAIL_BRIDGE_CAPTION :{WHITE}Selección de Puente de Ferrocarril +STR_SELECT_ROAD_BRIDGE_CAPTION :{WHITE}Selección de Cuente de Carretera +STR_SELECT_BRIDGE_SELECTION_TOOLTIP :{BLACK}Selección de puente - Clica en el puente elegido para construirlo STR_SELECT_BRIDGE_INFO :{GOLD}{STRING},{} {VELOCITY} {WHITE}{CURRENCY_LONG} STR_SELECT_BRIDGE_SCENEDIT_INFO :{GOLD}{STRING},{} {VELOCITY} STR_BRIDGE_NAME_SUSPENSION_STEEL :Colgante, Acero @@ -2452,19 +2475,19 @@ STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_SECTION :{BLACK}Construi STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_SECTION :{BLACK}Construir sección de tranvía. Ctrl permite retirar tranvías. Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOROAD :{BLACK}Construir carretera usando el modo de Autocarretera. Ctrl permite retirar carreteras. Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_BUILD_AUTOTRAM :{BLACK}Construir tranvías usando el modo de Autotranvías. Ctrl permite retirar tranvías. Mayús permite mostrar una estimación del precio -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construir depósito de carretera (para comprar y mantener vehículos). Mayús permite mostrar una estimación del precio -STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construir depósito de tranvías (para comprar y mantener vehículos). Mayús permite mostrar una estimación del precio +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_VEHICLE_DEPOT :{BLACK}Construye un depósito de carretera (para comprar y dar mantenimiento a vehículos). Mayús permite mostrar una estimación del precio +STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAM_VEHICLE_DEPOT :{BLACK}Construye un depósito de tranvías (para comprar y dar mantenimiento a tranvías). Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_BUILD_BUS_STATION :{BLACK}Construir estación de autobús. Ctrl activa la unión de estaciones. Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_BUILD_PASSENGER_TRAM_STATION :{BLACK}Construir estación de tranvía de pasajeros. Ctrl activa la unión de estaciones. Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRUCK_LOADING_BAY :{BLACK}Construir estación de carga para camiones. Ctrl activa la unión de estaciones. Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_BUILD_CARGO_TRAM_STATION :{BLACK}Construir estación de tranvía de carga. Ctrl activa la unión de estaciones. Mayús permite mostrar una estimación del precio -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Activar/Desactivar carreteras de un sentido +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_ONE_WAY_ROAD :{BLACK}Activa/Desactiva carreteras de sentido único STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_BRIDGE :{BLACK}Construir puente de carretera. Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_BRIDGE :{BLACK}Construir puente de tranvía. Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_BUILD_ROAD_TUNNEL :{BLACK}Construir túnel de carretera. Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_BUILD_TRAMWAY_TUNNEL :{BLACK}Construir túnel de tranvía. Mayús permite mostrar una estimación del precio -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Cambiar entre construir/retirar carretera -STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Activar construir/quitar para construcciones de tranvía +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_ROAD :{BLACK}Alterna entre construir/retirar carretera +STR_ROAD_TOOLBAR_TOOLTIP_TOGGLE_BUILD_REMOVE_FOR_TRAMWAYS :{BLACK}Alterna entre construir/retirar vías de tranvía STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_ROAD :{BLACK}Convertir/Actualizar tipo de carretera. Mayús permite mostrar una estimación del precio STR_ROAD_TOOLBAR_TOOLTIP_CONVERT_TRAM :{BLACK}Convertir/Actualizar tipo de tranvía. Mayús permite mostrar una estimación del precio @@ -2473,19 +2496,19 @@ STR_ROAD_NAME_TRAM :Tranvía # Road depot construction window STR_BUILD_DEPOT_ROAD_ORIENTATION_CAPTION :{WHITE}Orientación del depósito -STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Elegir orientación del depósito de carretera +STR_BUILD_DEPOT_ROAD_ORIENTATION_SELECT_TOOLTIP :{BLACK}Elige la orientación del depósito de carretera STR_BUILD_DEPOT_TRAM_ORIENTATION_CAPTION :{WHITE}Orientación del depósito -STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Seleccione orientación del depósito de tranvías +STR_BUILD_DEPOT_TRAM_ORIENTATION_SELECT_TOOLTIP :{BLACK}Selecciona la orientación del depósito de tranvías # Road vehicle station construction window STR_STATION_BUILD_BUS_ORIENTATION :{WHITE}Orientación Estación de Autobús -STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Elige la orientación de la estación de autobús +STR_STATION_BUILD_BUS_ORIENTATION_TOOLTIP :{BLACK}Selecciona la orientación de la estación de autobús STR_STATION_BUILD_TRUCK_ORIENTATION :{WHITE}Orientación Estación de Camiones -STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Elige la orientación de la estación de camiones +STR_STATION_BUILD_TRUCK_ORIENTATION_TOOLTIP :{BLACK}Selecciona la orientación de la estación de camiones STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION :{WHITE}Orientación Estación de Tranvía Pasajeros -STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Seleccione la orientación de la estación del tranvía de pasajeros +STR_STATION_BUILD_PASSENGER_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecciona la orientación de la estación del tranvía de pasajeros STR_STATION_BUILD_CARGO_TRAM_ORIENTATION :{WHITE}Orientación Estación de Tranvía de Carga -STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Seleccione la orientación de la estación del tranvía de carga +STR_STATION_BUILD_CARGO_TRAM_ORIENTATION_TOOLTIP :{BLACK}Selecciona la orientación de la estación del tranvía de carga # Waterways toolbar (last two for SE only) STR_WATERWAYS_TOOLBAR_CAPTION :{WHITE}Construcción de Canales @@ -2496,12 +2519,12 @@ STR_WATERWAYS_TOOLBAR_BUILD_DEPOT_TOOLTIP :{BLACK}Construi STR_WATERWAYS_TOOLBAR_BUILD_DOCK_TOOLTIP :{BLACK}Construir muelles. Ctrl activa la unión de estaciones. Mayús permite mostrar una estimación del precio STR_WATERWAYS_TOOLBAR_BUOY_TOOLTIP :{BLACK}Colocar boya que puede ser usada como punto de ruta. Mayús permite mostrar una estimación del precio STR_WATERWAYS_TOOLBAR_BUILD_AQUEDUCT_TOOLTIP :{BLACK}Construir acueducto. Mayús permite mostrar una estimación del precio -STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Definir área de agua.{}Crea un canal, a menos que se pulse Ctrl al nivel del mar, en cuyo caso se inundarán los alrededores -STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Colocar ríos +STR_WATERWAYS_TOOLBAR_CREATE_LAKE_TOOLTIP :{BLACK}Define el área de agua.{}Crea un canal, a menos que se pulse Ctrl al nivel del mar, en cuyo caso se inundarán los alrededores +STR_WATERWAYS_TOOLBAR_CREATE_RIVER_TOOLTIP :{BLACK}Coloca ríos # Ship depot construction window STR_DEPOT_BUILD_SHIP_CAPTION :{WHITE}Orientación del astillero -STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP :{BLACK}Selecciona orientación del astillero +STR_DEPOT_BUILD_SHIP_ORIENTATION_TOOLTIP :{BLACK}Selecciona la orientación del astillero # Dock construction window STR_STATION_BUILD_DOCK_CAPTION :{WHITE}Muelle @@ -2512,7 +2535,7 @@ STR_TOOLBAR_AIRCRAFT_BUILD_AIRPORT_TOOLTIP :{BLACK}Construi # Airport construction window STR_STATION_BUILD_AIRPORT_CAPTION :{WHITE}Selección de aeropuerto -STR_STATION_BUILD_AIRPORT_TOOLTIP :{BLACK}Elige tamaño/tipo de aeropuerto +STR_STATION_BUILD_AIRPORT_TOOLTIP :{BLACK}Selecciona el tamaño/tipo de aeropuerto STR_STATION_BUILD_AIRPORT_CLASS_LABEL :{BLACK}Clase de aeropuerto STR_STATION_BUILD_AIRPORT_LAYOUT_NAME :{BLACK}Patrón {NUM} @@ -2543,7 +2566,7 @@ STR_LANDSCAPING_TOOLTIP_PURCHASE_LAND :{BLACK}Comprar # Object construction window STR_OBJECT_BUILD_CAPTION :{WHITE}Selección de Objeto STR_OBJECT_BUILD_TOOLTIP :{BLACK}Seleccionar objeto a construir. Mayús permite mostrar una estimación del precio -STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Seleccione el tipo de objeto a construir +STR_OBJECT_BUILD_CLASS_TOOLTIP :{BLACK}Selecciona el tipo de objeto a construir STR_OBJECT_BUILD_PREVIEW_TOOLTIP :{BLACK}Vista previa del objeto STR_OBJECT_BUILD_SIZE :{BLACK}Tamaño: {GOLD}{NUM} x {NUM} casillas @@ -2552,38 +2575,38 @@ STR_OBJECT_CLASS_TRNS :Transmisor # Tree planting window (last eight 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 más árboles de distintos tipos sin importar el tipo elegido +STR_PLANT_TREE_TOOLTIP :{BLACK}Selecciona 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. Mayús permite mostrar una estimación del precio STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Árboles al azar -STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Planta árboles al azar sobre el terreno +STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Planta árboles al azar en el terreno STR_TREES_MODE_NORMAL_BUTTON :{BLACK}Normal -STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK} Plantar árboles solteros por arrastrando sobre el paisaje. -STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Falta -STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Plante pequeños bosques arrastrándolo por el paisaje. +STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Plantar árboles individuales arrastrando el ratón sobre el terreno +STR_TREES_MODE_FOREST_SM_BUTTON :{BLACK}Arboleda +STR_TREES_MODE_FOREST_SM_TOOLTIP :{BLACK}Planta bosques pequeños arrastrando el ratón sobre el terreno STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Bosque -STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Plantar bosques grandes por arrastrando sobre el paisaje. +STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Planta bosques grandes arrastrando el ratón sobre el terreno # Land generation window (SE) STR_TERRAFORM_TOOLBAR_LAND_GENERATION_CAPTION :{WHITE}Generación de terrenos STR_TERRAFORM_TOOLTIP_PLACE_ROCKY_AREAS_ON_LANDSCAPE :{BLACK}Coloca zonas rocosas sobre el terreno -STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Define área desértica.{}Mantén pulsado Ctrl para quitarla -STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Aumentar el tamaño del bloque de terreno a bajar/subir -STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Reducir tamaño del bloque de terreno a bajar/subir +STR_TERRAFORM_TOOLTIP_DEFINE_DESERT_AREA :{BLACK}Define el área desértica.{}Mantén pulsado Ctrl para quitarla +STR_TERRAFORM_TOOLTIP_INCREASE_SIZE_OF_LAND_AREA :{BLACK}Aumenta el tamaño del área de terreno a bajar/subir +STR_TERRAFORM_TOOLTIP_DECREASE_SIZE_OF_LAND_AREA :{BLACK}Reduce el tamaño del área de terreno a bajar/subir STR_TERRAFORM_TOOLTIP_GENERATE_RANDOM_LAND :{BLACK}Generar terreno al azar STR_TERRAFORM_SE_NEW_WORLD :{BLACK}Crear nuevo escenario STR_TERRAFORM_RESET_LANDSCAPE :{BLACK}Reiniciar terreno -STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Eliminar todas las propiedades de empresa del mapa +STR_TERRAFORM_RESET_LANDSCAPE_TOOLTIP :{BLACK}Elimina todas las propiedades de empresa del mapa STR_QUERY_RESET_LANDSCAPE_CAPTION :{WHITE}Reiniciar terreno -STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}¿Está seguro de querer eliminar todas las propiedades de empresas? +STR_RESET_LANDSCAPE_CONFIRMATION_TEXT :{WHITE}¿Estás seguro de que quieres eliminar todas las propiedades de las empresas? # Town generation window (SE) 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. Mayús+Clic muestra una estimación del precio +STR_FOUND_TOWN_NEW_TOWN_TOOLTIP :{BLACK}Funda un nuevo municipio. Mayús+clic 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_RANDOM_TOWN_TOOLTIP :{BLACK}Funda un municipio en un 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 @@ -2591,7 +2614,7 @@ STR_FOUND_TOWN_NAME_TITLE :{YELLOW}Nombre STR_FOUND_TOWN_NAME_EDITOR_TITLE :{BLACK}Introducir nombre de municipio STR_FOUND_TOWN_NAME_EDITOR_HELP :{BLACK}Clic 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_NAME_RANDOM_TOOLTIP :{BLACK}Genera un nuevo nombre aleatoriamente STR_FOUND_TOWN_INITIAL_SIZE_TITLE :{YELLOW}Tamaño del municipio: STR_FOUND_TOWN_INITIAL_SIZE_SMALL_BUTTON :{BLACK}Pequeña @@ -2606,8 +2629,8 @@ STR_FOUND_TOWN_ROAD_LAYOUT :{YELLOW}Patrón 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 -STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Rejilla 3x3 +STR_FOUND_TOWN_SELECT_LAYOUT_2X2_GRID :{BLACK}Cuadrícula 2x2 +STR_FOUND_TOWN_SELECT_LAYOUT_3X3_GRID :{BLACK}Cuadrícula 3x3 STR_FOUND_TOWN_SELECT_LAYOUT_RANDOM :{BLACK}Aleatorio # Fund new industry window @@ -2616,39 +2639,39 @@ STR_FUND_INDUSTRY_SELECTION_TOOLTIP :{BLACK}Seleccio STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES :{BLACK}Crear industrias al azar STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_TOOLTIP :{BLACK}Cubre el mapa con industrias colocadas al azar STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_CAPTION :{WHITE}Crear industrias al azar -STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}¿Seguro que desea crear industrias al azar? +STR_FUND_INDUSTRY_MANY_RANDOM_INDUSTRIES_QUERY :{YELLOW}¿Estás seguro de que quieres crear varias industrias al azar? STR_FUND_INDUSTRY_INDUSTRY_BUILD_COST :{BLACK}Coste: {YELLOW}{CURRENCY_LONG} STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Prospección STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Construir STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Fundar STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Eliminar todas las industrias -STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Eliminar todas las industrias que haya en el mapa +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Elimina todas las industrias que haya en el mapa STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_CAPTION :{WHITE}Eliminar todas las industrias -STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}¿Seguro que desea eliminar todas las industrias? +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_QUERY :{YELLOW}¿Estás seguro de que quieres eliminar todas las industrias? # Industry cargoes window STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Cadena de industrias para la industria {STRING} STR_INDUSTRY_CARGOES_CARGO_CAPTION :{WHITE}Cadena de industrias para la carga {STRING} -STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Industrias suministradoras +STR_INDUSTRY_CARGOES_PRODUCERS :{WHITE}Industrias proveedoras STR_INDUSTRY_CARGOES_CUSTOMERS :{WHITE}Industrias clientes STR_INDUSTRY_CARGOES_HOUSES :{WHITE}Casas -STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Clic en la industria para ver sus suministradores y clientes -STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Clic en la carga para mostrar sus suministradores y clientes +STR_INDUSTRY_CARGOES_INDUSTRY_TOOLTIP :{BLACK}Clica en la industria para ver sus proveedores y clientes +STR_INDUSTRY_CARGOES_CARGO_TOOLTIP :{BLACK}{STRING}{}Clica en la carga para mostrar sus proveedores y clientes STR_INDUSTRY_DISPLAY_CHAIN :{BLACK}Mostrar cadena -STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Mostrar industrias que suministran o aceptan la carga +STR_INDUSTRY_DISPLAY_CHAIN_TOOLTIP :{BLACK}Muestra industrias que suministran o aceptan la carga STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP :{BLACK}Enlazar al mapa -STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Seleccionar las industrias mostradas en el mapa +STR_INDUSTRY_CARGOES_NOTIFY_SMALLMAP_TOOLTIP :{BLACK}Selecciona las industrias mostradas en el mapa STR_INDUSTRY_CARGOES_SELECT_CARGO :{BLACK}Seleccionar carga -STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Permite seleccionar el tipo de carga a mostrar +STR_INDUSTRY_CARGOES_SELECT_CARGO_TOOLTIP :{BLACK}Selecciona el tipo de carga a mostrar STR_INDUSTRY_CARGOES_SELECT_INDUSTRY :{BLACK}Seleccionar industria -STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Permite seleccionar la industria a mostrar +STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Selecciona la industria a mostrar # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Información del terreno -STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centrar la vista principal en la posición de la casilla. Ctrl+Clic abre un nuevo punto de vista en dicha posición. +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Centra la vista principal en la posición de la casilla. Ctrl+clic abre un nuevo punto de vista en dicha posición. STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Coste de despeje: {LTBLUE}N/D STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Coste de despeje: {RED}{CURRENCY_LONG} -STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Beneficio cuando es limpiado: {LTBLUE}{CURRENCY_LONG} +STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Beneficio si es despejado: {LTBLUE}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_OWNER_N_A :N/D STR_LAND_AREA_INFORMATION_OWNER :{BLACK}Propietario: {LTBLUE}{STRING} STR_LAND_AREA_INFORMATION_ROAD_OWNER :{BLACK}Propietario de la carretera: {LTBLUE}{STRING} @@ -2669,17 +2692,17 @@ STR_LAND_AREA_INFORMATION_CARGO_EIGHTS :({COMMA}/8 {STR STR_LANG_AREA_INFORMATION_RAIL_TYPE :{BLACK}Tipo de ferrocarril: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_ROAD_TYPE :{BLACK}Tipo de carretera: {LTBLUE}{STRING} STR_LANG_AREA_INFORMATION_TRAM_TYPE :{BLACK}Tipo de tranvía: {LTBLUE}{STRING} -STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Límite de velocidad del ferrocarril: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_RAIL_SPEED_LIMIT :{BLACK}Límite de velocidad de ferrocarril: {LTBLUE}{VELOCITY} STR_LANG_AREA_INFORMATION_ROAD_SPEED_LIMIT :{BLACK}Límite de velocidad de carretera: {LTBLUE}{VELOCITY} -STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Límite de velocidad del tranvía: {LTBLUE}{VELOCITY} +STR_LANG_AREA_INFORMATION_TRAM_SPEED_LIMIT :{BLACK}Límite de velocidad de tranvía: {LTBLUE}{VELOCITY} # Description of land area of different tiles STR_LAI_CLEAR_DESCRIPTION_ROCKS :Rocas -STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND :Tierra árida -STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :Tierra desnuda -STR_LAI_CLEAR_DESCRIPTION_GRASS :Césped +STR_LAI_CLEAR_DESCRIPTION_ROUGH_LAND :Terreno irregular +STR_LAI_CLEAR_DESCRIPTION_BARE_LAND :Terreno desnudo +STR_LAI_CLEAR_DESCRIPTION_GRASS :Pastos STR_LAI_CLEAR_DESCRIPTION_FIELDS :Campos -STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Tierra cubierta por nieve +STR_LAI_CLEAR_DESCRIPTION_SNOW_COVERED_LAND :Terreno cubierto de nieve STR_LAI_CLEAR_DESCRIPTION_DESERT :Desierto STR_LAI_RAIL_DESCRIPTION_TRACK :Vía de ferrocarril @@ -2688,23 +2711,23 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Vía de ferroca STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Vía de ferrocarril con señales de salida STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Vía de ferrocarril con señales combo STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Vía de ferrocarril con señales de ruta -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Vía de ferrocarril con señales de ruta de un solo sentido +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Vía de ferrocarril con señales de ruta de sentido único STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Vía de ferrocarril con señales de bloque y de entrada STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Vía de ferrocarril con señales de bloque y de salida STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Vía de ferrocarril con señales de bloque y combo STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Vía de ferrocarril con señales de bloque y de ruta -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Vía de ferrocarril con señales de bloque y de ruta de un solo sentido +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Vía de ferrocarril con señales de bloque y de ruta de sentido único STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Ferrocarril con señales de entrada y de salida STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Vía de ferrocarril con señales de entrada y combo STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Vía de ferrocarril con señales de entrada y de ruta -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Ferrocarril con señales de entrada y de ruta de un solo sentido +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Ferrocarril con señales de entrada y de ruta de sentido único STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Vía de ferrocarril con señales de salida y combo STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Vía de ferrocarril con señales de salida y de ruta -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Vía de ferrocarril con señales de salida y de ruta de un solo sentido +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Vía de ferrocarril con señales de salida y de ruta de sentido único STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Vía de ferrocarril con señales combo y de ruta -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Vía de ferrocarril con señales combo y de ruta de un solo sentido -STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Vía de ferrocarril con señales de dirección y de un solo sentido -STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de trenes del ferrocarril +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Vía de ferrocarril con señales combo y de ruta de sentido único +STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Vía de ferrocarril con señales de dirección y de sentido único +STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Depósito de trenes de ferrocarril STR_LAI_ROAD_DESCRIPTION_ROAD :Carretera STR_LAI_ROAD_DESCRIPTION_ROAD_WITH_STREETLIGHTS :Carretera con farolas @@ -2714,7 +2737,7 @@ STR_LAI_ROAD_DESCRIPTION_ROAD_RAIL_LEVEL_CROSSING :Paso a nivel STR_LAI_ROAD_DESCRIPTION_TRAMWAY :Tranvía # Houses come directly from their building names -STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION :{STRING} (bajo construcción) +STR_LAI_TOWN_INDUSTRY_DESCRIPTION_UNDER_CONSTRUCTION :{STRING} (en construcción) STR_LAI_TREE_NAME_TREES :Árboles STR_LAI_TREE_NAME_RAINFOREST :Selváticos @@ -2733,7 +2756,7 @@ STR_LAI_WATER_DESCRIPTION_WATER :Agua STR_LAI_WATER_DESCRIPTION_CANAL :Canal STR_LAI_WATER_DESCRIPTION_LOCK :Esclusa STR_LAI_WATER_DESCRIPTION_RIVER :Río -STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK :Costa o rivera +STR_LAI_WATER_DESCRIPTION_COAST_OR_RIVERBANK :Costa o ribera STR_LAI_WATER_DESCRIPTION_SHIP_DEPOT :Astillero # Industries come directly from their industry names @@ -2777,8 +2800,8 @@ STR_FRAMERATE_RATE_GAMELOOP :{BLACK}Tasa de STR_FRAMERATE_RATE_GAMELOOP_TOOLTIP :{BLACK}Número de tics de juego simulados por segundo. STR_FRAMERATE_RATE_BLITTER :{BLACK}FPS de gráficos: {STRING} STR_FRAMERATE_RATE_BLITTER_TOOLTIP :{BLACK}Número de fotogramas renderizados por segundo. -STR_FRAMERATE_SPEED_FACTOR :{BLACK}Factor de velocidad de juego actual: {DECIMAL}x -STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Rapidez actual del juego comparada con la esperada durante una simulación normal. +STR_FRAMERATE_SPEED_FACTOR :{BLACK}Factor actual de velocidad de juego: {DECIMAL}x +STR_FRAMERATE_SPEED_FACTOR_TOOLTIP :{BLACK}Velocidad actual del juego, comparada con la velocidad esperada durante una simulación a ritmo normal. STR_FRAMERATE_CURRENT :{WHITE}Actual STR_FRAMERATE_AVERAGE :{WHITE}Medio STR_FRAMERATE_MEMORYUSE :{WHITE}Memoria @@ -2796,13 +2819,13 @@ STR_FRAMERATE_GRAPH_MILLISECONDS :{TINY_FONT}{COM STR_FRAMERATE_GRAPH_SECONDS :{TINY_FONT}{COMMA} s ############ Leave those lines in this order!! STR_FRAMERATE_GAMELOOP :{BLACK}Bucles de juego totales: -STR_FRAMERATE_GL_ECONOMY :{BLACK} Manejo de cargamento +STR_FRAMERATE_GL_ECONOMY :{BLACK} Manejo de carga: STR_FRAMERATE_GL_TRAINS :{BLACK} Tics de trenes: STR_FRAMERATE_GL_ROADVEHS :{BLACK} Tics de vehículos de carretera: STR_FRAMERATE_GL_SHIPS :{BLACK} Tics de barcos: STR_FRAMERATE_GL_AIRCRAFT :{BLACK} Tics de aeronaves: STR_FRAMERATE_GL_LANDSCAPE :{BLACK} Tics de mapa: -STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Retraso del gráfico de distribución: +STR_FRAMERATE_GL_LINKGRAPH :{BLACK} Retraso del grafo de distribución: STR_FRAMERATE_DRAWING :{BLACK}Renderizado gráfico: STR_FRAMERATE_DRAWING_VIEWPORTS :{BLACK} Ventanas de vista generales: STR_FRAMERATE_VIDEO :{BLACK}Salida de vídeo: @@ -2819,7 +2842,7 @@ STR_FRAMETIME_CAPTION_GL_ROADVEHS :Tics de vehícu STR_FRAMETIME_CAPTION_GL_SHIPS :Tics de barcos STR_FRAMETIME_CAPTION_GL_AIRCRAFT :Tics de aeronaves STR_FRAMETIME_CAPTION_GL_LANDSCAPE :Tics de mapa -STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Retraso del gráfico de distribución +STR_FRAMETIME_CAPTION_GL_LINKGRAPH :Retraso del grafo de distribución STR_FRAMETIME_CAPTION_DRAWING :Renderizado gráfico STR_FRAMETIME_CAPTION_DRAWING_VIEWPORTS :Representación de la vista del Mundo STR_FRAMETIME_CAPTION_VIDEO :Salida de vídeo @@ -2831,20 +2854,20 @@ STR_FRAMETIME_CAPTION_AI :IA {NUM} {STRIN # Save/load game/scenario -STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Juego -STR_SAVELOAD_LOAD_CAPTION :{WHITE}Cargar Juego +STR_SAVELOAD_SAVE_CAPTION :{WHITE}Guardar Partida +STR_SAVELOAD_LOAD_CAPTION :{WHITE}Cargar Partida STR_SAVELOAD_SAVE_SCENARIO :{WHITE}Guardar Escenario STR_SAVELOAD_LOAD_SCENARIO :{WHITE}Cargar Escenario STR_SAVELOAD_LOAD_HEIGHTMAP :{WHITE}Cargar Mapa de Alturas STR_SAVELOAD_SAVE_HEIGHTMAP :{WHITE}Guardar Mapa de Alturas -STR_SAVELOAD_HOME_BUTTON :{BLACK}Pulsa aquí para ir al directorio por defecto de guardado +STR_SAVELOAD_HOME_BUTTON :{BLACK}Clica aquí para ir al directorio de carga/guardado por defecto STR_SAVELOAD_BYTES_FREE :{BLACK}{BYTES} libres -STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Listado de unidades, directorios y juegos guardados -STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nombre seleccionado actualmente para el juego guardado +STR_SAVELOAD_LIST_TOOLTIP :{BLACK}Listado de unidades, directorios y partidas guardadas +STR_SAVELOAD_EDITBOX_TOOLTIP :{BLACK}Nombre seleccionado actualmente para la partida guardado STR_SAVELOAD_DELETE_BUTTON :{BLACK}Borrar -STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Borrar el juego guardado seleccionado +STR_SAVELOAD_DELETE_TOOLTIP :{BLACK}Borra la partida guardada seleccionada STR_SAVELOAD_SAVE_BUTTON :{BLACK}Guardar -STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Guarda el juego actual, usando el nombre seleccionado +STR_SAVELOAD_SAVE_TOOLTIP :{BLACK}Guarda la partida 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 @@ -2854,31 +2877,31 @@ STR_SAVELOAD_DETAIL_COMPANY_INDEX :{SILVER}{COMMA} STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: {WHITE}{STRING} STR_SAVELOAD_FILTER_TITLE :{BLACK}Patrón de filtrado: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Sobrescribir Archivo -STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}¿Está seguro de querer sobrescribir el archivo existente? +STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW}¿Estás seguro de que quieres sobrescribir el archivo existente? STR_SAVELOAD_DIRECTORY :{STRING} (Directorio) STR_SAVELOAD_PARENT_DIRECTORY :{STRING} (Directorio superior) -STR_SAVELOAD_OSKTITLE :{BLACK}Introduce un nombre para el juego guardado +STR_SAVELOAD_OSKTITLE :{BLACK}Introduce un nombre para guardar la partida # World generation STR_MAPGEN_WORLD_GENERATION_CAPTION :{WHITE}Generación de mundo 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_MAPSIZE_TOOLTIP :{BLACK}Selecciona 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 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_MAX_HEIGHTLEVEL_UP :{BLACK}Aumenta una unidad la altura máxima de las montañas del mapa +STR_MAPGEN_MAX_HEIGHTLEVEL_DOWN :{BLACK}Disminuye una unidad la altura máxima de las montañas del mapa +STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Altura cota nieve: +STR_MAPGEN_SNOW_LINE_UP :{BLACK}Sube la cota de nieve una unidad +STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Baja la cota de nieve una unidad STR_MAPGEN_LAND_GENERATOR :{BLACK}Generador terreno: STR_MAPGEN_TERRAIN_TYPE :{BLACK}Tipo de terreno STR_MAPGEN_QUANTITY_OF_SEA_LAKES :{BLACK}Nivel del mar: STR_MAPGEN_QUANTITY_OF_RIVERS :{BLACK}Ríos: -STR_MAPGEN_SMOOTHNESS :{BLACK}Suavidad: +STR_MAPGEN_SMOOTHNESS :{BLACK}Uniformidad: STR_MAPGEN_VARIETY :{BLACK}Variedad: STR_MAPGEN_GENERATE :{WHITE}Generar @@ -2900,25 +2923,25 @@ STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Tamaño: STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM} 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_SNOW_LINE_QUERY_CAPT :{WHITE}Cambiar la altura de la cota de nieve STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Cambiar año de inicio # SE Map generation STR_SE_MAPGEN_CAPTION :{WHITE}Tipo de escenario -STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Tierra llana +STR_SE_MAPGEN_FLAT_WORLD :{WHITE}Terreno llano STR_SE_MAPGEN_FLAT_WORLD_TOOLTIP :{BLACK}Generar un escenario llano -STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Tierra aleatoria +STR_SE_MAPGEN_RANDOM_LAND :{WHITE}Terreno aleatorio STR_SE_MAPGEN_FLAT_WORLD_HEIGHT :{BLACK}Altura tierra llana: -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_DOWN :{BLACK}Reduce la altura del terreno llano una unidad +STR_SE_MAPGEN_FLAT_WORLD_HEIGHT_UP :{BLACK}Aumenta la altura del terreno llano una unidad -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}Cambia la altura del terreno llano # Map generation progress STR_GENERATION_WORLD :{WHITE}Generando Mundo... STR_GENERATION_ABORT :{BLACK}Abortar STR_GENERATION_ABORT_CAPTION :{WHITE}Abortar Generación del Mundo -STR_GENERATION_ABORT_MESSAGE :{YELLOW}¿Desea realmente abortar la generación? +STR_GENERATION_ABORT_MESSAGE :{YELLOW}¿Deseas realmente abortar la generación? STR_GENERATION_PROGRESS :{WHITE}{NUM}% completado STR_GENERATION_PROGRESS_NUM :{BLACK}{NUM} / {NUM} STR_GENERATION_WORLD_GENERATION :{BLACK}Generación de mundo @@ -2936,36 +2959,36 @@ STR_NEWGRF_SETTINGS_CAPTION :{WHITE}Configur STR_NEWGRF_SETTINGS_INFO_TITLE :{WHITE}Información de NewGRF detallada STR_NEWGRF_SETTINGS_ACTIVE_LIST :{WHITE}Archivos NewGRF activos STR_NEWGRF_SETTINGS_INACTIVE_LIST :{WHITE}Archivos NewGRF inactivos -STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Seleccionar perfil: +STR_NEWGRF_SETTINGS_SELECT_PRESET :{ORANGE}Seleccionar configuración: STR_NEWGRF_FILTER_TITLE :{ORANGE}Patrón de filtrado: -STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Cargar la programación seleccionada +STR_NEWGRF_SETTINGS_PRESET_LIST_TOOLTIP :{BLACK}Cargar la configuración seleccionada STR_NEWGRF_SETTINGS_PRESET_SAVE :{BLACK}Guardar -STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Guardar lista actual como una programación -STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Introduce nombre de la programación +STR_NEWGRF_SETTINGS_PRESET_SAVE_TOOLTIP :{BLACK}Guardar la lista actual como configuración +STR_NEWGRF_SETTINGS_PRESET_SAVE_QUERY :{BLACK}Introduce nombre de la configuración STR_NEWGRF_SETTINGS_PRESET_DELETE :{BLACK}Borrar -STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Borrar la programación seleccionada +STR_NEWGRF_SETTINGS_PRESET_DELETE_TOOLTIP :{BLACK}Borrar la configuración seleccionada STR_NEWGRF_SETTINGS_ADD :{BLACK}Añadir STR_NEWGRF_SETTINGS_ADD_FILE_TOOLTIP :{BLACK}Añade el NewGRF seleccionado a tu configuración STR_NEWGRF_SETTINGS_RESCAN_FILES :{BLACK}Actualizar archivos STR_NEWGRF_SETTINGS_RESCAN_FILES_TOOLTIP :{BLACK}Actualiza la lista de archivos NewGRF disponibles -STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Retirar -STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Retirar el NewGRF seleccionado de la lista +STR_NEWGRF_SETTINGS_REMOVE :{BLACK}Quitar +STR_NEWGRF_SETTINGS_REMOVE_TOOLTIP :{BLACK}Quita el NewGRF seleccionado de la lista STR_NEWGRF_SETTINGS_MOVEUP :{BLACK}Mover Arriba -STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado arriba en la lista +STR_NEWGRF_SETTINGS_MOVEUP_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado hacia arriba STR_NEWGRF_SETTINGS_MOVEDOWN :{BLACK}Mover Abajo -STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado abajo en la lista +STR_NEWGRF_SETTINGS_MOVEDOWN_TOOLTIP :{BLACK}Mueve el NewGRF seleccionado hacia abajo STR_NEWGRF_SETTINGS_UPGRADE :{BLACK}Actualizar -STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Actualizar a la versión más reciente de los archivos NewGRF que tengan varias instaladas -STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Una lista de los archivos NewGRF instalados +STR_NEWGRF_SETTINGS_UPGRADE_TOOLTIP :{BLACK}Actualiza los NewGRF a la versión instalada más reciente +STR_NEWGRF_SETTINGS_FILE_TOOLTIP :{BLACK}Lista de los archivos NewGRF instalados STR_NEWGRF_SETTINGS_SET_PARAMETERS :{BLACK}Establecer parámetros STR_NEWGRF_SETTINGS_SHOW_PARAMETERS :{BLACK}Mostrar parámetros STR_NEWGRF_SETTINGS_TOGGLE_PALETTE :{BLACK}Cambiar paleta -STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Cambia la paleta del NewGRF seleccionado.{}Esto es necesario cuando los gráficos de un NewGRF se ven de color rosa durante el juego +STR_NEWGRF_SETTINGS_TOGGLE_PALETTE_TOOLTIP :{BLACK}Cambia la paleta del NewGRF seleccionado.{}Hacer esto si los gráficos de un NewGRF se ven de color rosa durante la partida STR_NEWGRF_SETTINGS_APPLY_CHANGES :{BLACK}Aplicar cambios -STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Buscar contenido que falta en línea -STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Comprueba si el contenido que falta puede ser encontrado en línea +STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_BUTTON :{BLACK}Buscar el contenido que falta en línea +STR_NEWGRF_SETTINGS_FIND_MISSING_CONTENT_TOOLTIP :{BLACK}Comprueba si el contenido que falta se puede encontrar en línea STR_NEWGRF_SETTINGS_FILENAME :{BLACK}Archivo: {SILVER}{STRING} STR_NEWGRF_SETTINGS_GRF_ID :{BLACK}GRF ID: {SILVER}{STRING} @@ -2975,8 +2998,8 @@ STR_NEWGRF_SETTINGS_MD5SUM :{BLACK}MD5sum: STR_NEWGRF_SETTINGS_PALETTE :{BLACK}Paleta: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PALETTE_DEFAULT :Por Defecto (D) STR_NEWGRF_SETTINGS_PALETTE_DEFAULT_32BPP :Por Defecto (D) / 32 bpp -STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Viejo (W) -STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Viejo (W) / 32 bpp +STR_NEWGRF_SETTINGS_PALETTE_LEGACY :Antiguo (W) +STR_NEWGRF_SETTINGS_PALETTE_LEGACY_32BPP :Antiguo (W) / 32 bpp STR_NEWGRF_SETTINGS_PARAMETER :{BLACK}Parámetros: {SILVER}{STRING} STR_NEWGRF_SETTINGS_PARAMETER_NONE :Ninguno @@ -2993,13 +3016,13 @@ STR_SAVE_PRESET_EDITBOX_TOOLTIP :{BLACK}Nombre a 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 +STR_SAVE_PRESET_SAVE_TOOLTIP :{BLACK}Guarda el perfil con el nombre elegido # NewGRF parameters window STR_NEWGRF_PARAMETERS_CAPTION :{WHITE}Cambiar parámetros NewGRF STR_NEWGRF_PARAMETERS_CLOSE :{BLACK}Cerrar STR_NEWGRF_PARAMETERS_RESET :{BLACK}Reiniciar -STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Fijar todos los parámetros a su valor por defecto +STR_NEWGRF_PARAMETERS_RESET_TOOLTIP :{BLACK}Fija todos los parámetros a su valor por defecto STR_NEWGRF_PARAMETERS_DEFAULT_NAME :Parámetro {NUM} STR_NEWGRF_PARAMETERS_SETTING :{STRING}: {ORANGE}{STRING} STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Número de parámetros: {ORANGE}{NUM} @@ -3007,7 +3030,7 @@ STR_NEWGRF_PARAMETERS_NUM_PARAM :{LTBLUE}Número # NewGRF inspect window STR_NEWGRF_INSPECT_CAPTION :{WHITE}Inspeccionar - {STRING} STR_NEWGRF_INSPECT_PARENT_BUTTON :{BLACK}Superior -STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspeccionar objeto del entorno del superior +STR_NEWGRF_INSPECT_PARENT_TOOLTIP :{BLACK}Inspecciona el objeto del ámbito principal STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT :{STRING} en {HEX} STR_NEWGRF_INSPECT_CAPTION_OBJECT_AT_OBJECT :Objeto @@ -3018,19 +3041,19 @@ 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 siguiente sprite (ignorando pseudosprites, sprites recoloreados y sprites de fuente) y pasar del último al primer sprite +STR_SPRITE_ALIGNER_NEXT_TOOLTIP :{BLACK}Va al siguiente sprite (ignorando pseudosprites, sprites recoloreados y sprites de fuente) y pasa 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_GOTO_TOOLTIP :{BLACK}Va al sprite indicado. Si el sprite no es un sprite normal, va 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) 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_PREVIOUS_TOOLTIP :{BLACK}Salta al sprite anterior (ignorando pseudosprites, sprites recoloreados y sprites de fuente) y pasa del primer al último sprite +STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representa el sprite seleccionado. Su alineamiento es ignorado al dibujarlo STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Mover el sprite, cambiando los ajustes X e Y. Ctrl+Clic mueve el sprite ocho unidades de una sola vez 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 +STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Selecciona un sprite de cualquier parte de la pantalla STR_SPRITE_ALIGNER_GOTO_CAPTION :{WHITE}Ir a sprite @@ -3040,15 +3063,15 @@ STR_NEWGRF_ERROR_MSG_WARNING :{RED}Atención: STR_NEWGRF_ERROR_MSG_ERROR :{RED}Error: {SILVER}{STRING} STR_NEWGRF_ERROR_MSG_FATAL :{RED}Error Fatal: {SILVER}{STRING} STR_NEWGRF_ERROR_FATAL_POPUP :{WHITE}Ha ocurrido un error fatal de NewGRF:{}{STRING} -STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} no funcionará con la con la versión de TTDPatch reportada por OpenTTD -STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} es la para la versión {STRING} de TTD +STR_NEWGRF_ERROR_VERSION_NUMBER :{1:STRING} no funcionará con la con la versión de TTDPatch informada por OpenTTD +STR_NEWGRF_ERROR_DOS_OR_WINDOWS :{1:STRING} es para la versión {STRING} de TTD STR_NEWGRF_ERROR_UNSET_SWITCH :{1:STRING} está diseñado para ser usado con {STRING} STR_NEWGRF_ERROR_INVALID_PARAMETER :Parámetro incorrecto para {1:STRING}: párametro {STRING} ({NUM}) STR_NEWGRF_ERROR_LOAD_BEFORE :{1:STRING} debe ser cargado antes de {STRING} STR_NEWGRF_ERROR_LOAD_AFTER :{1:STRING} debe ser cargado después de {STRING} STR_NEWGRF_ERROR_OTTD_VERSION_NUMBER :{1:STRING} necesita la versión {STRING} ó superior de OpenTTD -STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :El archivo GRF ha sido diseñado para ser traducido -STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Demasiados NewGRFs han sido cargados +STR_NEWGRF_ERROR_AFTER_TRANSLATED_FILE :el archivo GRF ha sido diseñado para ser traducido +STR_NEWGRF_ERROR_TOO_MANY_NEWGRFS_LOADED :Se han cargado demasiados NewGRF STR_NEWGRF_ERROR_STATIC_GRF_CAUSES_DESYNC :Cargar {1:STRING} como NewGRF estático con {STRING} puede causar desincronizaciones STR_NEWGRF_ERROR_UNEXPECTED_SPRITE :Sprite inesperado (sprite {3:NUM}) STR_NEWGRF_ERROR_UNKNOWN_PROPERTY :Propiedad de Acción 0 desconocida {4:HEX} (sprite {3:NUM}) @@ -3063,36 +3086,36 @@ STR_NEWGRF_ERROR_LIST_PROPERTY_TOO_LONG :Demasiados elem STR_NEWGRF_ERROR_INDPROD_CALLBACK :Llamada de producción de industria no válida (sprite {3:NUM}, "{2:STRING}") # NewGRF related 'general' warnings -STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}¡Precaución! -STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Se van a modificar los NewGRF de una partida ya comenzada. Esto puede provocar un error fatal en OpenTTD o romper la partida.{}No se deben crear reportes de bugs por problemas causados por esta acción.{}¿Está completamente seguro de esto? +STR_NEWGRF_POPUP_CAUTION_CAPTION :{WHITE}¡Atención! +STR_NEWGRF_CONFIRMATION_TEXT :{YELLOW}Se van a modificar los NewGRF de una partida ya comenzada. Esto puede provocar un error fatal en OpenTTD o arruinar la partida. No se deben crear informes de fallos por los problemas causados por esta acción.{}¿Estás completamente seguro de esto? -STR_NEWGRF_DUPLICATE_GRFID :{WHITE}El archivo no puede añadirse: GRF ID duplicado +STR_NEWGRF_DUPLICATE_GRFID :{WHITE}El archivo no se puede añadir: GRF ID duplicado STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Archivo no encontrado (GRF compatible cargado) -STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}No se puede añadir archivo: Alcanzado el máximo de NewGRFs permitidos +STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}No se puede añadir archivo: se ha alcanzado el máximo número de NewGRF permitidos -STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatibles cargados para archivos que faltan -STR_NEWGRF_DISABLED_WARNING :{WHITE}Archivo(s) GRF no encontrados han sido desactivados -STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Archivo(s) GRF no encontrados -STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Quitar la pausa puede hacer que se cierre OpenTTD. No notifique este error.{}¿Desea realmente quitar la pausa? +STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}Se han cargado GRF(s) compatibles para los archivos que faltan +STR_NEWGRF_DISABLED_WARNING :{WHITE}El/Los archivo(s) GRF no encontrados han sido desactivados +STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Archivo(s) GRF no encontrado(s) +STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Quitar la pausa puede hacer que se cierre OpenTTD. No se debe informar de los errores consecuentes.{}¿Deseas realmente quitar la pausa? # NewGRF status STR_NEWGRF_LIST_NONE :Ninguno STR_NEWGRF_LIST_ALL_FOUND :Todos los archivos presentes STR_NEWGRF_LIST_COMPATIBLE :{YELLOW}Archivos compatibles encontrados -STR_NEWGRF_LIST_MISSING :{RED}Archivos que faltan +STR_NEWGRF_LIST_MISSING :{RED}Faltan archivos # NewGRF 'it's broken' warnings STR_NEWGRF_BROKEN :{WHITE}Es probable que el funcionamiento del NewGRF '{0:STRING}' cause desincronizaciones o fallos -STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Ha cambiado el estado 'vagón motorizado' para '{1:ENGINE}' cuando no estaba dentro de un depósito -STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ha cambiado la longitud del vehículo para '{1:ENGINE}' cuando no estaba dentro de un depósito -STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Ha cambiado la capacidad del vehículo para '{1:ENGINE}' fuera de un depósito o mientras no se estaba remodelando -STR_BROKEN_VEHICLE_LENGTH :{WHITE}El tren '{VEHICLE}' perteneciente a '{COMPANY}' tiene una longitud incorrecta. Esto puede ser debido a problemas con los NewGRF. El juego puede desincronizarse o, incluso, fallar por completo +STR_NEWGRF_BROKEN_POWERED_WAGON :{WHITE}Ha cambiado el estado 'vagón motorizado' '{1:ENGINE}' cuando no estaba dentro de un depósito +STR_NEWGRF_BROKEN_VEHICLE_LENGTH :{WHITE}Ha cambiado la longitud del vehículo '{1:ENGINE}' cuando no estaba dentro de un depósito +STR_NEWGRF_BROKEN_CAPACITY :{WHITE}Ha cambiado la capacidad del vehículo '{1:ENGINE}' fuera de un depósito o mientras no se estaba reformando +STR_BROKEN_VEHICLE_LENGTH :{WHITE}El tren '{VEHICLE}' perteneciente a '{COMPANY}' tiene una longitud incorrecta. Esto puede deberse a problemas con los NewGRF. El juego puede desincronizarse o fallar por completo STR_NEWGRF_BUGGY :{WHITE}El NewGRF '{0:STRING}' da información incorrecta STR_NEWGRF_BUGGY_ARTICULATED_CARGO :{WHITE}La información de carga/reforma para '{1:ENGINE}' difiere de la de lista de compra después de la construcción. Esto puede causar que la renovación/reemplazo automático no haga la reforma correcta STR_NEWGRF_BUGGY_ENDLESS_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha causado un bucle sin fin en la 'callback' de producción -STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Callback' {1:HEX} devolvió el resultado desconocido o inválido {2:HEX} -STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha retornado tipo de carga inválida en el 'callback' de producción en {2:HEX} +STR_NEWGRF_BUGGY_UNKNOWN_CALLBACK_RESULT :{WHITE}'Callback' {1:HEX} ha devuelto el resultado desconocido o inválido {2:HEX} +STR_NEWGRF_BUGGY_INVALID_CARGO_PRODUCTION_CALLBACK :{WHITE}'{1:STRING}' ha devuelto tipo de carga inválida en el 'callback' de producción en {2:HEX} # 'User removed essential NewGRFs'-placeholders for stuff without specs STR_NEWGRF_INVALID_CARGO : @@ -3105,23 +3128,23 @@ STR_NEWGRF_INVALID_INDUSTRYTYPE : # NewGRF scanning window -STR_NEWGRF_SCAN_CAPTION :{WHITE}Comprobando NewGRFs -STR_NEWGRF_SCAN_MESSAGE :{BLACK}Comprobando NewGRFs. Dependiendo de la cantidad, esto puede llevar un tiempo... -STR_NEWGRF_SCAN_STATUS :{BLACK}{NUM} NewGRF{P "" s} comprobados de un total aproximado de {NUM} NewGRF{P "" s} +STR_NEWGRF_SCAN_CAPTION :{WHITE}Comprobando los NewGRF +STR_NEWGRF_SCAN_MESSAGE :{BLACK}Comprobando los NewGRF. Dependiendo de la cantidad, esto puede llevar un tiempo... +STR_NEWGRF_SCAN_STATUS :{BLACK}{NUM} NewGRF comprobados de un total aproximado de {NUM} NewGRF STR_NEWGRF_SCAN_ARCHIVES :Comprobando archivos # Sign list window -STR_SIGN_LIST_CAPTION :{WHITE}Lista de carteles - {COMMA} Cartel{P "" es} +STR_SIGN_LIST_CAPTION :{WHITE}Lista de letreros - {COMMA} Letrero{P "" es} STR_SIGN_LIST_MATCH_CASE :{BLACK}Mayúsculas/minúsculas -STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Activa/desactiva la comprobación de mayúsculas y minúsculas al filtrar la lista de carteles +STR_SIGN_LIST_MATCH_CASE_TOOLTIP :{BLACK}Activa/desactiva la coincidencia de mayúsculas y minúsculas al filtrar la lista de letreros # Sign window -STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto del cartel -STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centrar la vista principal en el cartel. Ctrl+Clic abre un nuevo punto de vista en dicha posición -STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Ir al siguiente cartel -STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Ir al anterior cartel +STR_EDIT_SIGN_CAPTION :{WHITE}Editar texto del letrero +STR_EDIT_SIGN_LOCATION_TOOLTIP :{BLACK}Centra la vista principal en el letrero. Ctrl+clic abre un nuevo punto de vista en dicha posición +STR_EDIT_SIGN_NEXT_SIGN_TOOLTIP :{BLACK}Ir al letrero siguiente +STR_EDIT_SIGN_PREVIOUS_SIGN_TOOLTIP :{BLACK}Ir al letrero anterior -STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Introduce un nombre para el cartel +STR_EDIT_SIGN_SIGN_OSKTITLE :{BLACK}Introduce un nombre para el letrrero # Town directory window STR_TOWN_DIRECTORY_CAPTION :{WHITE}Municipios @@ -3143,62 +3166,63 @@ STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED_GENERAL :{ORANGE}{STRING STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_REQUIRED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{RED} (todavía requerido) STR_TOWN_VIEW_CARGO_FOR_TOWNGROWTH_DELIVERED :{ORANGE}{CARGO_TINY} / {CARGO_LONG}{GREEN} (entregado) STR_TOWN_VIEW_TOWN_GROWS_EVERY :{BLACK}El municipio crece cada {ORANGE}{COMMA}{BLACK}{NBSP}día{P "" s} -STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}El municipio crece cada {ORANGE}{COMMA}{BLACK}{NBSP}día{P "" s} (edificios fundados) +STR_TOWN_VIEW_TOWN_GROWS_EVERY_FUNDED :{BLACK}El municipio crece cada {ORANGE}{COMMA}{BLACK}{NBSP}día{P "" s} (edificios financiados) STR_TOWN_VIEW_TOWN_GROW_STOPPED :{BLACK}El municipio {RED}no{BLACK} está creciendo -STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Nivel de ruido en municipio: {ORANGE}{COMMA}{BLACK} Máx.: {ORANGE}{COMMA} +STR_TOWN_VIEW_NOISE_IN_TOWN :{BLACK}Nivel de ruido en el municipio: {ORANGE}{COMMA}{BLACK} Máx.: {ORANGE}{COMMA} STR_TOWN_VIEW_CENTER_TOOLTIP :{BLACK}Centrar vista sobre el municipio. Ctrl+Clic abre un punto de vista en dicha posición STR_TOWN_VIEW_LOCAL_AUTHORITY_BUTTON :{BLACK}Autoridad local -STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Mostrar información sobre autoridades locales -STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Cambiar nombre del municipio +STR_TOWN_VIEW_LOCAL_AUTHORITY_TOOLTIP :{BLACK}Muestra la información sobre las autoridades locales +STR_TOWN_VIEW_RENAME_TOOLTIP :{BLACK}Cambia el nombre del municipio STR_TOWN_VIEW_EXPAND_BUTTON :{BLACK}Aumentar STR_TOWN_VIEW_EXPAND_TOOLTIP :{BLACK}Aumentar la población del municipio STR_TOWN_VIEW_DELETE_BUTTON :{BLACK}Borrar -STR_TOWN_VIEW_DELETE_TOOLTIP :{BLACK}Borrar este municipio completamente +STR_TOWN_VIEW_DELETE_TOOLTIP :{BLACK}Borrar completamente este municipio STR_TOWN_VIEW_RENAME_TOWN_BUTTON :Renombrar Municipio # Town local authority window STR_LOCAL_AUTHORITY_CAPTION :{WHITE}{TOWN} autoridad local STR_LOCAL_AUTHORITY_ZONE :{BLACK}Zona -STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Mostrar zona dentro del límite de la autoridad local +STR_LOCAL_AUTHORITY_ZONE_TOOLTIP :{BLACK}Muestra la zona dentro de los límites de la autoridad local STR_LOCAL_AUTHORITY_COMPANY_RATINGS :{BLACK}Calificación de empresas de transporte: STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPANY} {COMPANY_NUM}: {ORANGE}{STRING} STR_LOCAL_AUTHORITY_ACTIONS_TITLE :{BLACK}Acciones disponibles: -STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lista de acciones posibles en este municipio - Clic sobre cada línea para obtener más detalles +STR_LOCAL_AUTHORITY_ACTIONS_TOOLTIP :{BLACK}Lista de acciones posibles en este municipio - Clica sobre cada línea para obtener más detalles STR_LOCAL_AUTHORITY_DO_IT_BUTTON :{BLACK}Hágalo -STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Hacer lo que se ha marcado en la opción anterior +STR_LOCAL_AUTHORITY_DO_IT_TOOLTIP :{BLACK}Lleva a cabo la acción resaltada en la lista superior -STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Pequeña campaña publicitaria -STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Mediana campaña publicitaria -STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Gran campaña publicitaria -STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Pagar la reconstrucción de las carreteras locales -STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Poner una estatua al dueño de la empresa -STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Pagar la construcción de nuevos edificios -STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar la exclusiva de los servicios de transporte +STR_LOCAL_AUTHORITY_ACTION_SMALL_ADVERTISING_CAMPAIGN :Campaña Publicitaria Pequeña +STR_LOCAL_AUTHORITY_ACTION_MEDIUM_ADVERTISING_CAMPAIGN :Campaña Publicitaria Mediana +STR_LOCAL_AUTHORITY_ACTION_LARGE_ADVERTISING_CAMPAIGN :Campaña Publicitaria Grande +STR_LOCAL_AUTHORITY_ACTION_ROAD_RECONSTRUCTION :Financiar la reconstrucción de carreteras locales +STR_LOCAL_AUTHORITY_ACTION_STATUE_OF_COMPANY :Colocar una estatua del propietario de la empresa +STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Financiar la construcción de nuevos edificios +STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar derechos de transporte exclusivos STR_LOCAL_AUTHORITY_ACTION_BRIBE :Sobornar a la autoridad local -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar una pequeña campaña publicitaria local para atraer más pasajeros y carga a sus servicios de transporte.{}Coste: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Iniciar una campaña publicitaria local mediana para atraer más pasajeros y carga a sus servicios de transporte.{}Coste: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Iniciar una gran campaña publicitaria local para atraer más pasajeros y carga a sus servicios de transporte.{}Coste: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Pagar la reconstrucción de las carreteras locales. Provoca considerables complicaciones del tráfico durante 6 meses.{}Coste: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construye una estatua en honor a su empresa.{}Coste: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Pagar la construcción de nuevos edificios comerciales en el municipio.{}Coste: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Comprar en exclusiva los derechos de transporte en este municipio durante un año. Las autoridades solo permitirán el uso de las estaciones de su empresa.{}Coste: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Sobornar a las autoridades locales para aumentar su calificación, con el riesgo de una severa penalización si es descubierto.{}Coste: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar una pequeña campaña publicitaria local para atraer más pasajeros y carga a sus servicios de transporte.{}Proporciona un incremento temporal en la calificación de las estaciones en un radio pequeño alrededor del centro del municipio.{}Coste: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Iniciar una campaña publicitaria local mediana para atraer más pasajeros y carga a sus servicios de transporte.{}Proporciona un incremento temporal en la calificación de las estaciones en un radio mediano alrededor del centro del municipio.{}Coste: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Iniciar una gran campaña publicitaria local para atraer más pasajeros y carga a sus servicios de transporte.{}Proporciona un incremento temporal en la calificación de las estaciones en un radio grande alrededor del centro del municipio.{}Coste: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Pagar la reconstrucción de las carreteras locales.{}Provoca considerables complicaciones de tráfico durante 6 meses.{}Coste: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construye una estatua en honor a su empresa.{}Proporciona un incremento permanente en la calificación de las estaciones de este municipio.{}Coste: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Pagar la construcción de nuevos edificios comerciales en el municipio.{}Proporciona un incremento temporal en el crecimiento del municipio.{}Coste: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Compra derechos de transporte exclusivos en este municipio durante un año.{}Las autoridades no permitirán el uso de las estaciones de la competencia.{}Coste: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Soborna a las autoridades locales para aumentar su calificación, con el riesgo de sufrir una penalización severa si es descubierto.{}Coste: {CURRENCY_LONG} # Goal window -STR_GOALS_CAPTION :{WHITE}Metas de {COMPANY} -STR_GOALS_SPECTATOR_CAPTION :{WHITE}Metas Globales -STR_GOALS_SPECTATOR :Metas Globales -STR_GOALS_GLOBAL_TITLE :{BLACK}Metas globales: +STR_GOALS_CAPTION :{WHITE}Objetivos de {COMPANY} +STR_GOALS_SPECTATOR_CAPTION :{WHITE}Objetivos Globales +STR_GOALS_SPECTATOR :Objetivos Globales +STR_GOALS_GLOBAL_BUTTON :{BLACK}Global +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Muestra objetivos globales +STR_GOALS_COMPANY_BUTTON :{BLACK}Empresa +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Muestra los objetivos de empresa STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Ninguna - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- No aplicable - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Metas de la compañía: -STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clic en una meta para centrar la vista principal en la casilla, industria o municipio. Ctrl+Clic abre una nueva vista en esa localización +STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clica en un objetivo para centrar la vista principal en la casilla, industria o municipio. Ctrl+clic abre un punto de vista en dicha posición # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}Pregunta @@ -3217,7 +3241,7 @@ STR_GOAL_QUESTION_BUTTON_IGNORE :Ignorar STR_GOAL_QUESTION_BUTTON_RETRY :Reintentar STR_GOAL_QUESTION_BUTTON_PREVIOUS :Anterior STR_GOAL_QUESTION_BUTTON_NEXT :Siguiente -STR_GOAL_QUESTION_BUTTON_STOP :Parar +STR_GOAL_QUESTION_BUTTON_STOP :Detener STR_GOAL_QUESTION_BUTTON_START :Comenzar STR_GOAL_QUESTION_BUTTON_GO :Ir STR_GOAL_QUESTION_BUTTON_CONTINUE :Continuar @@ -3229,7 +3253,7 @@ STR_GOAL_QUESTION_BUTTON_CLOSE :Cerrar # Subsidies window STR_SUBSIDIES_CAPTION :{WHITE}Subvenciones -STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Se ofrecen subvenciones por llevar: +STR_SUBSIDIES_OFFERED_TITLE :{BLACK}Se ofrecen subvenciones por transportar: STR_SUBSIDIES_OFFERED_FROM_TO :{ORANGE}{STRING} desde {STRING} a {STRING}{YELLOW} (antes de {DATE_SHORT}) STR_SUBSIDIES_NONE :{ORANGE}- Ninguno - STR_SUBSIDIES_SUBSIDISED_TITLE :{BLACK}Líneas ya subvencionadas: @@ -3237,9 +3261,9 @@ STR_SUBSIDIES_SUBSIDISED_FROM_TO :{ORANGE}{STRING STR_SUBSIDIES_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clic sobre el servicio para centrar la vista principal en esta industria/municipio. Ctrl+Clic abre un punto de vista en dicha posición # Story book window -STR_STORY_BOOK_CAPTION :{WHITE}Historial de {COMPANY} -STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Historial Global -STR_STORY_BOOK_SPECTATOR :Historial Global +STR_STORY_BOOK_CAPTION :{WHITE}Historia de {COMPANY} +STR_STORY_BOOK_SPECTATOR_CAPTION :{WHITE}Historia Global +STR_STORY_BOOK_SPECTATOR :Historia Global STR_STORY_BOOK_TITLE :{YELLOW}{STRING} STR_STORY_BOOK_GENERIC_PAGE_ITEM :Página {NUM} STR_STORY_BOOK_SEL_PAGE_TOOLTIP :{BLACK}Permite saltar a una página específica al seleccionarla en esta lista desplegable @@ -3247,7 +3271,7 @@ STR_STORY_BOOK_PREV_PAGE :{BLACK}Anterior STR_STORY_BOOK_PREV_PAGE_TOOLTIP :{BLACK}Ir a la página anterior STR_STORY_BOOK_NEXT_PAGE :{BLACK}Siguiente STR_STORY_BOOK_NEXT_PAGE_TOOLTIP :{BLACK}Ir a la siguiente página -STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referencia de metas inválida +STR_STORY_BOOK_INVALID_GOAL_REF :{RED}Referencia de objetivo inválida # Station list window STR_STATION_LIST_TOOLTIP :{BLACK}Nombres de estación - Clic sobre un nombre para centrar la vista principal en la estación. Ctrl+Clic abre un punto de vista en dicha posición @@ -3258,7 +3282,7 @@ STR_STATION_LIST_WAYPOINT :{YELLOW}{WAYPOI STR_STATION_LIST_NONE :{YELLOW}- Ninguna - STR_STATION_LIST_SELECT_ALL_FACILITIES :{BLACK}Seleccionar todos los tipos de estación STR_STATION_LIST_SELECT_ALL_TYPES :{BLACK}Selecciona todos los tipos de carga (incluidas las que no están en espera) -STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Ningún tipo de carga está esperando +STR_STATION_LIST_NO_WAITING_CARGO :{BLACK}Ningún tipo de carga esperando # Station view window STR_STATION_VIEW_CAPTION :{WHITE}{STATION} {STATION_FEATURES} @@ -3267,14 +3291,14 @@ STR_STATION_VIEW_EN_ROUTE_FROM :{YELLOW}({CARGO STR_STATION_VIEW_RESERVED :{YELLOW}({CARGO_SHORT} reservado para cargar) STR_STATION_VIEW_ACCEPTS_BUTTON :{BLACK}Acepta -STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Mostrar lista de carga aceptada +STR_STATION_VIEW_ACCEPTS_TOOLTIP :{BLACK}Muestra la lista de carga aceptada STR_STATION_VIEW_ACCEPTS_CARGO :{BLACK}Acepta: {WHITE}{CARGO_LIST} STR_STATION_VIEW_EXCLUSIVE_RIGHTS_SELF :{BLACK}Esta estación tiene derechos de transporte exclusivos en este municipio. -STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} compró derechos de transporte exclusivo en este municipio. +STR_STATION_VIEW_EXCLUSIVE_RIGHTS_COMPANY :{YELLOW}{COMPANY}{BLACK} compró derechos de transporte exclusivos en este municipio. STR_STATION_VIEW_RATINGS_BUTTON :{BLACK}Calificación -STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Ver calificación de la estación +STR_STATION_VIEW_RATINGS_TOOLTIP :{BLACK}Muestra la calificación de la estación STR_STATION_VIEW_SUPPLY_RATINGS_TITLE :{BLACK}Suministro mensual y calificación local: STR_STATION_VIEW_CARGO_SUPPLY_RATING :{WHITE}{STRING}: {YELLOW}{COMMA} / {STRING} ({COMMA}%) @@ -3313,23 +3337,23 @@ STR_CARGO_RATING_OUTSTANDING :Excepcional ############ range for rating ends STR_STATION_VIEW_CENTER_TOOLTIP :{BLACK}Centrar vista en la posición de la estación. Ctrl+Clic abre un punto de vista en dicha posición -STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Cambiar nombre de la estación +STR_STATION_VIEW_RENAME_TOOLTIP :{BLACK}Cambia el nombre de la estación -STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Mostrar todos los trenes que tienen esta estación en su horario -STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Mostrar todos los vehículos de carretera que tienen esta estación en su horario -STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Mostrar todas las aeronaves que tienen esta estación en su horario -STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Mostrar todos los barcos que tienen esta estación en su horario +STR_STATION_VIEW_SCHEDULED_TRAINS_TOOLTIP :{BLACK}Muestra todos los trenes que tienen esta estación en su horario +STR_STATION_VIEW_SCHEDULED_ROAD_VEHICLES_TOOLTIP :{BLACK}Muestra todos los vehículos de carretera que tienen esta estación en su horario +STR_STATION_VIEW_SCHEDULED_AIRCRAFT_TOOLTIP :{BLACK}Muestra todas las aeronaves que tienen esta estación en su horario +STR_STATION_VIEW_SCHEDULED_SHIPS_TOOLTIP :{BLACK}Muestra todos los barcos que tienen esta estación en su horario STR_STATION_VIEW_RENAME_STATION_CAPTION :Renombrar estación/zona de carga STR_STATION_VIEW_CLOSE_AIRPORT :{BLACK}Cerrar aeropuerto -STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Prevenir a los aviones de aterrizar en este aeropuerto +STR_STATION_VIEW_CLOSE_AIRPORT_TOOLTIP :{BLACK}Evita que las aeronaves aterricen en este aeropuerto # Waypoint/buoy view window STR_WAYPOINT_VIEW_CAPTION :{WHITE}{WAYPOINT} STR_WAYPOINT_VIEW_CENTER_TOOLTIP :{BLACK}Centrar vista en posición del punto de ruta. Ctrl+Clic abre un punto de vista en dicha posición STR_WAYPOINT_VIEW_CHANGE_WAYPOINT_NAME :{BLACK}Cambiar nombre del punto de ruta -STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centrar vista en posición de la boya. Ctrl+Clic abre un punto de vista en dicha posición +STR_BUOY_VIEW_CENTER_TOOLTIP :{BLACK}Centra la vista en posición de la boya. Ctrl+clic abre un punto de vista en dicha posición STR_BUOY_VIEW_CHANGE_BUOY_NAME :{BLACK}Cambiar nombre de boya STR_EDIT_WAYPOINT_NAME :{WHITE}Editar nombre del punto de ruta @@ -3359,16 +3383,16 @@ STR_FINANCES_LOAN_TITLE :{WHITE}Préstam STR_FINANCES_MAX_LOAN :{WHITE}Préstamo Máximo: {BLACK}{CURRENCY_LONG} STR_FINANCES_TOTAL_CURRENCY :{BLACK}{CURRENCY_LONG} STR_FINANCES_BORROW_BUTTON :{BLACK}Pedir Préstamo {CURRENCY_LONG} -STR_FINANCES_BORROW_TOOLTIP :{BLACK}Incrementar préstamo. Ctrl+Clic solicita todo el préstamo posible +STR_FINANCES_BORROW_TOOLTIP :{BLACK}Incrementa el préstamo. Ctrl+clic solicita todo el préstamo posible STR_FINANCES_REPAY_BUTTON :{BLACK}Pagar Préstamo {CURRENCY_LONG} -STR_FINANCES_REPAY_TOOLTIP :{BLACK}Pagar parte del préstamo. Ctrl+Clic paga todo el préstamo posible +STR_FINANCES_REPAY_TOOLTIP :{BLACK}Paga parte del préstamo. Ctrl+clic paga todo el préstamo posible STR_FINANCES_INFRASTRUCTURE_BUTTON :{BLACK}Infraestructura # Company view STR_COMPANY_VIEW_CAPTION :{WHITE}{COMPANY} {BLACK}{COMPANY_NUM} STR_COMPANY_VIEW_PRESIDENT_MANAGER_TITLE :{WHITE}{PRESIDENT_NAME}{}{GOLD}(Presidente) -STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Inaugurado: {WHITE}{NUM} +STR_COMPANY_VIEW_INAUGURATED_TITLE :{GOLD}Inaugurada en: {WHITE}{NUM} STR_COMPANY_VIEW_COLOUR_SCHEME_TITLE :{GOLD}Esquema de Color: STR_COMPANY_VIEW_VEHICLES_TITLE :{GOLD}Vehículos: STR_COMPANY_VIEW_TRAINS :{WHITE}{COMMA} tren{P "" es} @@ -3379,50 +3403,50 @@ STR_COMPANY_VIEW_VEHICLES_NONE :{WHITE}Ninguno STR_COMPANY_VIEW_COMPANY_VALUE :{GOLD}Valor de la empresa: {WHITE}{CURRENCY_LONG} STR_COMPANY_VIEW_SHARES_OWNED_BY :{WHITE}({COMMA}% propiedad de {COMPANY}) STR_COMPANY_VIEW_INFRASTRUCTURE :{GOLD}Infraestructura: -STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} trozo{P "" s} de ferrocarril -STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} trozo{P "" s} de carretera +STR_COMPANY_VIEW_INFRASTRUCTURE_RAIL :{WHITE}{COMMA} secci{P ón ones} de ferrocarril +STR_COMPANY_VIEW_INFRASTRUCTURE_ROAD :{WHITE}{COMMA} secci{P ón ones} de carretera STR_COMPANY_VIEW_INFRASTRUCTURE_WATER :{WHITE}{COMMA} casilla{P "" s} de agua STR_COMPANY_VIEW_INFRASTRUCTURE_STATION :{WHITE}{COMMA} casilla{P "" s} de estación STR_COMPANY_VIEW_INFRASTRUCTURE_AIRPORT :{WHITE}{COMMA} aeropuerto{P "" s} STR_COMPANY_VIEW_INFRASTRUCTURE_NONE :{WHITE}Ninguna STR_COMPANY_VIEW_BUILD_HQ_BUTTON :{BLACK}Construir Sede -STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Construir la sede de la empresa +STR_COMPANY_VIEW_BUILD_HQ_TOOLTIP :{BLACK}Construye la sede de la empresa STR_COMPANY_VIEW_VIEW_HQ_BUTTON :{BLACK}Ver Sede -STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Ver sede de la empresa +STR_COMPANY_VIEW_VIEW_HQ_TOOLTIP :{BLACK}Muestra la sede de la empresa STR_COMPANY_VIEW_RELOCATE_HQ :{BLACK}Reubicar Sede -STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reubica la sede de la empresa a cualquier otro lugar, con el coste del 1% del valor total de la empresa. Mayús+Clic muestra una estimación del precio sin mover la sede +STR_COMPANY_VIEW_RELOCATE_COMPANY_HEADQUARTERS :{BLACK}Reubica la sede de la empresa en cualquier otro lugar, con el coste del 1% del valor total de la empresa. Mayús+clic muestra una estimación del precio sin mover la sede STR_COMPANY_VIEW_INFRASTRUCTURE_BUTTON :{BLACK}Detalles STR_COMPANY_VIEW_INFRASTRUCTURE_TOOLTIP :{BLACK}Ver informe detallado de infraestructura STR_COMPANY_VIEW_GIVE_MONEY_BUTTON :{BLACK}Dar dinero -STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Dar dinero a esta empresa +STR_COMPANY_VIEW_GIVE_MONEY_TOOLTIP :{BLACK}Da dinero a esta empresa STR_COMPANY_VIEW_NEW_FACE_BUTTON :{BLACK}Nueva Cara -STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Selecciona nueva cara para el presidente +STR_COMPANY_VIEW_NEW_FACE_TOOLTIP :{BLACK}Selecciona una nueva cara para el presidente STR_COMPANY_VIEW_COLOUR_SCHEME_BUTTON :{BLACK}Esquema de Color -STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Cambiar los colores de la empresa +STR_COMPANY_VIEW_COLOUR_SCHEME_TOOLTIP :{BLACK}Cambia los colores de la empresa STR_COMPANY_VIEW_COMPANY_NAME_BUTTON :{BLACK}Nombre Empresa -STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Cambiar el nombre de la empresa +STR_COMPANY_VIEW_COMPANY_NAME_TOOLTIP :{BLACK}Cambia el nombre de la empresa STR_COMPANY_VIEW_PRESIDENT_NAME_BUTTON :{BLACK}Nombre Presidente -STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Cambiar el nombre del presidente +STR_COMPANY_VIEW_PRESIDENT_NAME_TOOLTIP :{BLACK}Cambia el nombre del presidente STR_COMPANY_VIEW_BUY_SHARE_BUTTON :{BLACK}Comprar un 25% de sus acciones STR_COMPANY_VIEW_SELL_SHARE_BUTTON :{BLACK}Vender 25% de acciones -STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Comprar 25% de acciones de esta empresa. Mayús+Clic muestra una estimación del precio sin comprar ninguna acción -STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Vender 25% acciones de esta empresa. Mayús+Clic muestra una estimación del beneficio sin vender ninguna acción +STR_COMPANY_VIEW_BUY_SHARE_TOOLTIP :{BLACK}Comprar un 25% de acciones de esta empresa. Mayús+clic muestra una estimación del precio sin comprar ninguna acción +STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Vender un 25% de acciones de esta empresa. Mayús+clic muestra una estimación del beneficio sin vender ninguna acción STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Nombre Empresa STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Nombre del Presidente -STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Entrar el cantidad de dinero que quieres dar +STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Introduce la cantidad de dinero que quieres dar STR_BUY_COMPANY_MESSAGE :{WHITE}Estamos buscando una empresa de transportes para adquirir la nuestra{}{}¿Desea comprar {COMPANY} por {CURRENCY_LONG}? # Company infrastructure window STR_COMPANY_INFRASTRUCTURE_VIEW_CAPTION :{WHITE}Infraestructura de {COMPANY} -STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Trozos de ferrocarril: +STR_COMPANY_INFRASTRUCTURE_VIEW_RAIL_SECT :{GOLD}Secciones de ferrocarril: STR_COMPANY_INFRASTRUCTURE_VIEW_SIGNALS :{WHITE}Señales -STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Trozos de carretera: -STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Piezas de tranvía: +STR_COMPANY_INFRASTRUCTURE_VIEW_ROAD_SECT :{GOLD}Secciones de carretera: +STR_COMPANY_INFRASTRUCTURE_VIEW_TRAM_SECT :{GOLD}Secciones de tranvía: STR_COMPANY_INFRASTRUCTURE_VIEW_WATER_SECT :{GOLD}Casillas de agua: STR_COMPANY_INFRASTRUCTURE_VIEW_CANALS :{WHITE}Canales STR_COMPANY_INFRASTRUCTURE_VIEW_STATION_SECT :{GOLD}Estaciones: @@ -3439,7 +3463,7 @@ STR_INDUSTRY_DIRECTORY_ITEM_PROD1 :{ORANGE}{INDUST STR_INDUSTRY_DIRECTORY_ITEM_PROD2 :{ORANGE}{INDUSTRY} {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PROD3 :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} STR_INDUSTRY_DIRECTORY_ITEM_PRODMORE :{ORANGE}{INDUSTRY} {STRING}, {STRING}, {STRING} y {NUM} más... -STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nombre de industrias - Clic sobre un nombre para centrar la vista principal en la industria. Ctrl+Clic abre un punto de vista en dicha posición +STR_INDUSTRY_DIRECTORY_LIST_CAPTION :{BLACK}Nombre de industrias - Pulsa sobre un nombre para centrar la vista principal en la industria. Ctrl+clic abre un punto de vista en dicha posición STR_INDUSTRY_DIRECTORY_ACCEPTED_CARGO_FILTER :{BLACK}Carga aceptada: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_PRODUCED_CARGO_FILTER :{BLACK}Carga producida: {SILVER}{STRING} STR_INDUSTRY_DIRECTORY_FILTER_ALL_TYPES :Todos los tipos de carga @@ -3449,7 +3473,7 @@ STR_INDUSTRY_DIRECTORY_FILTER_NONE :Ninguna STR_INDUSTRY_VIEW_CAPTION :{WHITE}{INDUSTRY} STR_INDUSTRY_VIEW_PRODUCTION_LAST_MONTH_TITLE :{BLACK}Producción del mes anterior: STR_INDUSTRY_VIEW_TRANSPORTED :{YELLOW}{CARGO_LONG}{STRING}{BLACK} ({COMMA}% transportado) -STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centrar la vista sobre la industria. Ctrl+Clic abre un punto de vista en dicha posición +STR_INDUSTRY_VIEW_LOCATION_TOOLTIP :{BLACK}Centra la vista sobre la industria. Ctrl+clic abre un punto de vista en dicha posición STR_INDUSTRY_VIEW_PRODUCTION_LEVEL :{BLACK}Nivel de producción: {YELLOW}{COMMA}% STR_INDUSTRY_VIEW_INDUSTRY_ANNOUNCED_CLOSURE :{YELLOW}La industria ha anunciado su cierre inminente! @@ -3461,7 +3485,7 @@ STR_INDUSTRY_VIEW_REQUIRES :{BLACK}Necesita STR_INDUSTRY_VIEW_ACCEPT_CARGO :{YELLOW}{STRING}{BLACK}{3:STRING} STR_INDUSTRY_VIEW_ACCEPT_CARGO_AMOUNT :{YELLOW}{STRING}{BLACK}: {CARGO_SHORT} esperando{STRING} -STR_CONFIG_GAME_PRODUCTION :{WHITE}Cambiar producción (múltiplo de 8, máximo 2040) +STR_CONFIG_GAME_PRODUCTION :{WHITE}Cambiar producción (múltiplos de 8, máximo 2040) STR_CONFIG_GAME_PRODUCTION_LEVEL :{WHITE}Cambiar nivel de producción (porcentaje, hasta un máximo de 800%) # Vehicle lists @@ -3481,12 +3505,12 @@ STR_VEHICLE_LIST_AVAILABLE_TRAINS :Trenes disponib STR_VEHICLE_LIST_AVAILABLE_ROAD_VEHICLES :Vehículos de carretera disponibles STR_VEHICLE_LIST_AVAILABLE_SHIPS :Barcos disponibles STR_VEHICLE_LIST_AVAILABLE_AIRCRAFT :Aeronaves disponibles -STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Ver la lista de modelos disponibles para este tipo de vehículo +STR_VEHICLE_LIST_AVAILABLE_ENGINES_TOOLTIP :{BLACK}Muestra la lista de modelos disponibles para este tipo de vehículo STR_VEHICLE_LIST_MANAGE_LIST :{BLACK}Administrar lista -STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Enviar instrucciones a todos los vehículos de la lista +STR_VEHICLE_LIST_MANAGE_LIST_TOOLTIP :{BLACK}Envia instrucciones a todos los vehículos de la lista STR_VEHICLE_LIST_REPLACE_VEHICLES :Reemplazar vehículos -STR_VEHICLE_LIST_SEND_FOR_SERVICING :Enviar para Servicio +STR_VEHICLE_LIST_SEND_FOR_SERVICING :Enviar para Mantenimiento STR_VEHICLE_LIST_SEND_TRAIN_TO_DEPOT :Enviar a Depósito STR_VEHICLE_LIST_SEND_ROAD_VEHICLE_TO_DEPOT :Enviar a Depósito @@ -3511,15 +3535,15 @@ STR_GROUP_DEFAULT_AIRCRAFTS :Aeronaves sin a STR_GROUP_COUNT_WITH_SUBGROUP :{TINY_FONT}{COMMA} (+{COMMA}) -STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clic en un grupo para ver la lista de sus vehículos. Es posible arrastrar grupos para modificar su jerarquía. -STR_GROUP_CREATE_TOOLTIP :{BLACK}Clic para crear un grupo -STR_GROUP_DELETE_TOOLTIP :{BLACK}Borrar el grupo seleccionado -STR_GROUP_RENAME_TOOLTIP :{BLACK}Renombrar el grupo seleccionado -STR_GROUP_LIVERY_TOOLTIP :{BLACK}Cambiar el color del grupo seleccionado +STR_GROUPS_CLICK_ON_GROUP_FOR_TOOLTIP :{BLACK}Grupos - Clica en un grupo para ver la lista de sus vehículos. Es posible arrastrar grupos para modificar su jerarquía. +STR_GROUP_CREATE_TOOLTIP :{BLACK}Clica para crear un grupo nuevo +STR_GROUP_DELETE_TOOLTIP :{BLACK}Borra el grupo seleccionado +STR_GROUP_RENAME_TOOLTIP :{BLACK}Renombra el grupo seleccionado +STR_GROUP_LIVERY_TOOLTIP :{BLACK}Cambia el color del grupo seleccionado STR_GROUP_REPLACE_PROTECTION_TOOLTIP :{BLACK}Clic para proteger este grupo del auto reemplazado global STR_QUERY_GROUP_DELETE_CAPTION :{WHITE}Borrar Grupo -STR_GROUP_DELETE_QUERY_TEXT :{WHITE}¿Está seguro de querer borrar este grupo y todos sus subgrupos? +STR_GROUP_DELETE_QUERY_TEXT :{WHITE}¿Estás seguro de borrar este grupo y todos sus subgrupos? STR_GROUP_ADD_SHARED_VEHICLE :Añadir vehículos con órdenes compartidas STR_GROUP_REMOVE_ALL_VEHICLES :Quitar todos los vehículos @@ -3527,8 +3551,8 @@ STR_GROUP_REMOVE_ALL_VEHICLES :Quitar todos lo STR_GROUP_RENAME_CAPTION :{BLACK}Renombrar un grupo STR_GROUP_PROFIT_THIS_YEAR :Beneficio este año: -STR_GROUP_PROFIT_LAST_YEAR :Beneficio del último año: -STR_GROUP_OCCUPANCY :Uso actual: +STR_GROUP_PROFIT_LAST_YEAR :Beneficio del año pasado: +STR_GROUP_OCCUPANCY :Utilización actual: STR_GROUP_OCCUPANCY_VALUE :{NUM}% # Build vehicle window @@ -3547,8 +3571,8 @@ STR_BUY_VEHICLE_SHIP_CAPTION :Nuevos Barcos STR_BUY_VEHICLE_AIRCRAFT_CAPTION :Nueva Aeronave ############ range for vehicle availability ends -STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Coste: {GOLD}{CURRENCY_LONG}{BLACK} Peso: {GOLD}{WEIGHT_SHORT} -STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Precio: {GOLD}{CURRENCY_LONG}{BLACK} (Costo de Reforma: {GOLD}{CURRENCY_LONG}{BLACK}) Peso: {GOLD}{WEIGHT_SHORT} +STR_PURCHASE_INFO_COST_WEIGHT :{BLACK}Precio: {GOLD}{CURRENCY_LONG}{BLACK} Peso: {GOLD}{WEIGHT_SHORT} +STR_PURCHASE_INFO_COST_REFIT_WEIGHT :{BLACK}Precio: {GOLD}{CURRENCY_LONG}{BLACK} (Coste de Reforma: {GOLD}{CURRENCY_LONG}{BLACK}) Peso: {GOLD}{WEIGHT_SHORT} STR_PURCHASE_INFO_SPEED_POWER :{BLACK}Velocidad: {GOLD}{VELOCITY}{BLACK} Potencia: {GOLD}{POWER} STR_PURCHASE_INFO_SPEED :{BLACK}Velocidad: {GOLD}{VELOCITY} STR_PURCHASE_INFO_SPEED_OCEAN :{BLACK}Velocidad en el océano: {GOLD}{VELOCITY} @@ -3556,27 +3580,28 @@ STR_PURCHASE_INFO_SPEED_CANAL :{BLACK}Velocida STR_PURCHASE_INFO_RUNNINGCOST :{BLACK}Coste de operación: {GOLD}{CURRENCY_LONG}/año STR_PURCHASE_INFO_CAPACITY :{BLACK}Capacidad: {GOLD}{CARGO_LONG} {STRING} STR_PURCHASE_INFO_REFITTABLE :(reformable) -STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Diseñado: {GOLD}{NUM}{BLACK} Vida: {GOLD}{COMMA} año{P "" s} +STR_PURCHASE_INFO_DESIGNED_LIFE :{BLACK}Diseñado en: {GOLD}{NUM}{BLACK} Vida útil: {GOLD}{COMMA} año{P "" s} STR_PURCHASE_INFO_RELIABILITY :{BLACK}Fiabilidad máxima: {GOLD}{COMMA}% -STR_PURCHASE_INFO_COST :{BLACK}Coste: {GOLD}{CURRENCY_LONG} -STR_PURCHASE_INFO_COST_REFIT :{BLACK}Precio: {GOLD}{CURRENCY_LONG}{BLACK} (Costo de Reforma: {GOLD}{CURRENCY_LONG}{BLACK}) +STR_PURCHASE_INFO_COST :{BLACK}Precio: {GOLD}{CURRENCY_LONG} +STR_PURCHASE_INFO_COST_REFIT :{BLACK}Precio: {GOLD}{CURRENCY_LONG}{BLACK} (Coste de Reforma: {GOLD}{CURRENCY_LONG}{BLACK}) STR_PURCHASE_INFO_WEIGHT_CWEIGHT :{BLACK}Peso: {GOLD}{WEIGHT_SHORT} ({WEIGHT_SHORT}) -STR_PURCHASE_INFO_COST_SPEED :{BLACK}Coste: {GOLD}{CURRENCY_LONG}{BLACK} Velocidad: {GOLD}{VELOCITY} -STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Precio: {GOLD}{CURRENCY_LONG}{BLACK} (Costo de Reforma: {GOLD}{CURRENCY_LONG}{BLACK}) Velocidad: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_COST_SPEED :{BLACK}Precio: {GOLD}{CURRENCY_LONG}{BLACK} Velocidad: {GOLD}{VELOCITY} +STR_PURCHASE_INFO_COST_REFIT_SPEED :{BLACK}Precio: {GOLD}{CURRENCY_LONG}{BLACK} (Coste de Reforma: {GOLD}{CURRENCY_LONG}{BLACK}) Velocidad: {GOLD}{VELOCITY} STR_PURCHASE_INFO_AIRCRAFT_CAPACITY :{BLACK}Capacidad: {GOLD}{CARGO_LONG}, {CARGO_LONG} STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagones con motor: {GOLD}+{POWER}{BLACK} Peso: {GOLD}+{WEIGHT_SHORT} STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Reformable a: {GOLD}{STRING} -STR_PURCHASE_INFO_ALL_TYPES :Todos los tipos de carga +STR_PURCHASE_INFO_ALL_TYPES :Todo tipo de carga STR_PURCHASE_INFO_NONE :Sin carga +STR_PURCHASE_INFO_ENGINES_ONLY :Sólo locomotoras STR_PURCHASE_INFO_ALL_BUT :Todo excepto {CARGO_LIST} -STR_PURCHASE_INFO_MAX_TE :{BLACK}F.T máxima: {GOLD}{FORCE} +STR_PURCHASE_INFO_MAX_TE :{BLACK}F.T. máxima: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} casillas STR_PURCHASE_INFO_AIRCRAFT_TYPE :{BLACK}Tipo de aeronave: {GOLD}{STRING} -STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de selección de los vehículos de ferrocarril. Clic en el vehículo para más información. Ctrl+Clic para mostrar/ocultar el tipo del vehículo -STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de selección de vehículos de carretera. Clic en el vehículo para más información. Ctrl+Clic para mostrar/ocultar el tipo del vehículo -STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de selección de barcos. Clic en el barco para más información. Ctrl+Clic para mostrar/ocultar el tipo del barco -STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de selección de aeronaves. Clic en la aeronave para más información. Ctrl+Clic para mostrar/ocultar el tipo de la aeronave +STR_BUY_VEHICLE_TRAIN_LIST_TOOLTIP :{BLACK}Lista de selección de los vehículos de ferrocarril. Clica en el vehículo para más información. Pulsa Ctrl+clic para mostrar/ocultar el tipo del vehículo +STR_BUY_VEHICLE_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Lista de selección de vehículos de carretera. Clica en el vehículo para más información. Pulsa Ctrl+clic para mostrar/ocultar el tipo del vehículo +STR_BUY_VEHICLE_SHIP_LIST_TOOLTIP :{BLACK}Lista de selección de barcos. Clica en el barco para más información. Pulsa Ctrl+clic para mostrar/ocultar el tipo del barco +STR_BUY_VEHICLE_AIRCRAFT_LIST_TOOLTIP :{BLACK}Lista de selección de aeronaves. Clica en la aeronave para más información. Pulsa Ctrl+clic para mostrar/ocultar el tipo de la aeronave STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_BUTTON :{BLACK}Comprar vehículo STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_BUTTON :{BLACK}Comprar vehículo @@ -3588,15 +3613,15 @@ STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar y Reformar Barco STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_BUTTON :{BLACK}Comprar y Reformar Aeronave -STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el vehículo de ferrocarril resaltado. Mayús+Clic muestra una estimación del precio sin realizar la compra -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar el vehículo de carretera resaltado. Mayús+Clic muestra una estimación del precio sin realizar la compra -STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar el barco resaltado. Mayús+Clic muestra una estimación del precio sin realizar la compra -STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar la aeronave resaltada. Mayús+Clic muestra una estimación del precio sin realizar la compra +STR_BUY_VEHICLE_TRAIN_BUY_VEHICLE_TOOLTIP :{BLACK}Compra el vehículo de ferrocarril resaltado. Mayús+clic muestra una estimación del precio sin realizar la compra +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar el vehículo de carretera resaltado. Mayús+clic muestra una estimación del precio sin realizar la compra +STR_BUY_VEHICLE_SHIP_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar el barco resaltado. Mayús+clic muestra una estimación del precio sin realizar la compra +STR_BUY_VEHICLE_AIRCRAFT_BUY_VEHICLE_TOOLTIP :{BLACK}Comprar la aeronave resaltada. Mayús+clic muestra una estimación del precio sin realizar la compra -STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar el vehículo de ferrocarril resaltado. Mayús+Clic muestra una estimación del precio sin realizar la compra -STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar el vehículo resaltado. Mayús+Clic muestra una estimación del precio sin realizar la compra -STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar el barco resaltado. Mayús+Clic muestra una estimación del precio sin realizar la compra -STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}}Comprar y reformar la aeronave resaltada. Mayús+Clic muestra una estimación del precio sin realizar la compra +STR_BUY_VEHICLE_TRAIN_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar el vehículo de ferrocarril resaltado. Mayús+clic muestra una estimación del precio sin realizar la compra +STR_BUY_VEHICLE_ROAD_VEHICLE_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar el vehículo resaltado. Mayús+clic muestra una estimación del precio sin realizar la compra +STR_BUY_VEHICLE_SHIP_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}Comprar y reformar el barco resaltado. Mayús+clic muestra una estimación del precio sin realizar la compra +STR_BUY_VEHICLE_AIRCRAFT_BUY_REFIT_VEHICLE_TOOLTIP :{BLACK}}Comprar y reformar la aeronave resaltada. Mayús+clic muestra una estimación del precio sin realizar la compra STR_BUY_VEHICLE_TRAIN_RENAME_BUTTON :{BLACK}Renombrar STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_BUTTON :{BLACK}Renombrar @@ -3604,9 +3629,9 @@ STR_BUY_VEHICLE_SHIP_RENAME_BUTTON :{BLACK}Renombra STR_BUY_VEHICLE_AIRCRAFT_RENAME_BUTTON :{BLACK}Renombrar STR_BUY_VEHICLE_TRAIN_RENAME_TOOLTIP :{BLACK}Renombrar tipo de vehículo -STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Renombrar tipo de vehículo +STR_BUY_VEHICLE_ROAD_VEHICLE_RENAME_TOOLTIP :{BLACK}Renombra el tipo de vehículo STR_BUY_VEHICLE_SHIP_RENAME_TOOLTIP :{BLACK}Renombrar tipo de barco -STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Renombrar tipo de aeronave +STR_BUY_VEHICLE_AIRCRAFT_RENAME_TOOLTIP :{BLACK}Renombra el tipo de aeronave STR_BUY_VEHICLE_TRAIN_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_TOGGLE_BUTTON :{BLACK}Ocultar @@ -3618,12 +3643,12 @@ 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 el tipo del tren -STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alternar mostrar/ocultar el tipo del vehículo de carretera -STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alternar mostrar/ocultar el tipo del barco -STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alternar mostrar/ocultar el tipo de la aeronave +STR_BUY_VEHICLE_TRAIN_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna entre mostrar/ocultar el tipo del tren +STR_BUY_VEHICLE_ROAD_VEHICLE_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna entre mostrar/ocultar el tipo del vehículo de carretera +STR_BUY_VEHICLE_SHIP_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna entre mostrar/ocultar el tipo del barco +STR_BUY_VEHICLE_AIRCRAFT_HIDE_SHOW_TOGGLE_TOOLTIP :{BLACK}Alterna entre mostrar/ocultar el tipo de la aeronave -STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Renombrar tipo de vehículo de raíl +STR_QUERY_RENAME_TRAIN_TYPE_CAPTION :{WHITE}Renombrar tipo de vehículo de ferrocarril STR_QUERY_RENAME_ROAD_VEHICLE_TYPE_CAPTION :{WHITE}Renombrar tipo de vehículo de carretera STR_QUERY_RENAME_SHIP_TYPE_CAPTION :{WHITE}Renombrar tipo de barco STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Renombrar tipo de aeronave @@ -3631,30 +3656,30 @@ STR_QUERY_RENAME_AIRCRAFT_TYPE_CAPTION :{WHITE}Renombra # Depot window STR_DEPOT_CAPTION :{WHITE}{DEPOT} -STR_DEPOT_RENAME_TOOLTIP :{BLACK}Cambiar nombre del depósito +STR_DEPOT_RENAME_TOOLTIP :{BLACK}Cambia el nombre del depósito STR_DEPOT_RENAME_DEPOT_CAPTION :Renombrar depósito STR_DEPOT_NO_ENGINE :{BLACK}- STR_DEPOT_VEHICLE_TOOLTIP :{BLACK}{ENGINE}{STRING} -STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} vehículo {P "" s}{STRING} +STR_DEPOT_VEHICLE_TOOLTIP_CHAIN :{BLACK}{NUM} vehículo{P "" s}{STRING} STR_DEPOT_VEHICLE_TOOLTIP_CARGO :{}{CARGO_LONG} ({CARGO_SHORT}) -STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trenes - arrastrar vehículo con Clic izquierdo para añadir/retirar del tren, Clic derecho para mostrar información. Mantén pulsado Ctrl para usar estos comandos con el resto del tren -STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Vehículos de carretera - Clic derecho en el vehículo para información -STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Barcos - Clic derecho en el barco para información -STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeronave - Clic derecho en la aeronave para información +STR_DEPOT_TRAIN_LIST_TOOLTIP :{BLACK}Trenes - arrastra el vehículo con clic izquierdo para añadir/retirar del tren, clic derecho para mostrar información. Mantén pulsado Ctrl para usar estos comandos con el resto del tren +STR_DEPOT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Vehículos de carretera - Clica con el botón derecho en el vehículo para información +STR_DEPOT_SHIP_LIST_TOOLTIP :{BLACK}Barcos - Clica con el botón derecho en el barco para información +STR_DEPOT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Aeronave - Clica con el botón derecho en la aeronave para más información -STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Arrastrar aquí el vehículo de raíl para venderlo -STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Arrastrar aquí el vehículo de carretera para venderlo -STR_DEPOT_SHIP_SELL_TOOLTIP :{BLACK}Arrastrar barco aquí para venderlo -STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Arrastrar aeronave aquí para venderla +STR_DEPOT_TRAIN_SELL_TOOLTIP :{BLACK}Arrastra aquí el vehículo de ferrocarril para venderlo +STR_DEPOT_ROAD_VEHICLE_SELL_TOOLTIP :{BLACK}Arrastra aquí el vehículo de carretera para venderlo +STR_DEPOT_SHIP_SELL_TOOLTIP :{BLACK}Arrastra el barco aquí para venderlo +STR_DEPOT_AIRCRAFT_SELL_TOOLTIP :{BLACK}Arrastra la aeronave aquí para venderla -STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP :{BLACK}Arrastrar la locomotora aquí para vender el tren entero +STR_DEPOT_DRAG_WHOLE_TRAIN_TO_SELL_TOOLTIP :{BLACK}Arrastra la locomotora aquí para vender el tren entero -STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP :{BLACK}Vender todos los trenes del depósito -STR_DEPOT_SELL_ALL_BUTTON_ROAD_VEHICLE_TOOLTIP :{BLACK}Vender todos los vehículos de carretera del depósito -STR_DEPOT_SELL_ALL_BUTTON_SHIP_TOOLTIP :{BLACK}Vender todos los barcos del astillero -STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}Vender todas las aeronaves del hangar +STR_DEPOT_SELL_ALL_BUTTON_TRAIN_TOOLTIP :{BLACK}Vende todos los trenes del depósito +STR_DEPOT_SELL_ALL_BUTTON_ROAD_VEHICLE_TOOLTIP :{BLACK}Vende todos los vehículos de carretera del depósito +STR_DEPOT_SELL_ALL_BUTTON_SHIP_TOOLTIP :{BLACK}Vende todos los barcos del astillero +STR_DEPOT_SELL_ALL_BUTTON_AIRCRAFT_TOOLTIP :{BLACK}Vende todas las aeronaves del hangar STR_DEPOT_AUTOREPLACE_TRAIN_TOOLTIP :{BLACK}Reemplaza automáticamente todos los trenes del depósito STR_DEPOT_AUTOREPLACE_ROAD_VEHICLE_TOOLTIP :{BLACK}Reemplaza automáticamente todos los vehículos de carretera del depósito @@ -3666,46 +3691,46 @@ STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_BUTTON :{BLACK}Nuevos v STR_DEPOT_SHIP_NEW_VEHICLES_BUTTON :{BLACK}Nuevos barcos STR_DEPOT_AIRCRAFT_NEW_VEHICLES_BUTTON :{BLACK}Nueva aeronave -STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP :{BLACK}Comprar nuevo vehículo de raíl -STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_TOOLTIP :{BLACK}Comprar nuevo vehículo de carretera -STR_DEPOT_SHIP_NEW_VEHICLES_TOOLTIP :{BLACK}Comprar nuevo barco -STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Comprar nueva aeronave +STR_DEPOT_TRAIN_NEW_VEHICLES_TOOLTIP :{BLACK}Compra un vehículo de ferrocarril nuevo +STR_DEPOT_ROAD_VEHICLE_NEW_VEHICLES_TOOLTIP :{BLACK}Compra un vehículo de carretera nuevo +STR_DEPOT_SHIP_NEW_VEHICLES_TOOLTIP :{BLACK}Compra un barco nuevo +STR_DEPOT_AIRCRAFT_NEW_VEHICLES_TOOLTIP :{BLACK}Compra una aeronave nueva STR_DEPOT_CLONE_TRAIN :{BLACK}Clonar tren STR_DEPOT_CLONE_ROAD_VEHICLE :{BLACK}Clonar vehículo STR_DEPOT_CLONE_SHIP :{BLACK}Clonar barco STR_DEPOT_CLONE_AIRCRAFT :{BLACK}Clonar aeronave -STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Esto comprará una copia del tren incluyendo todos sus vagones. Pulse este botón y después en el tren dentro o fuera del depósito. Ctrl+Clic compartirá las órdenes. Mayús+Clic muestra el precio estimado sin realizar la compra -STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Esto comprará una copia del vehículo de carretera. Pulse este botón y después en el vehículo dentro o fuera del depósito. Ctrl+Clic compartirá las órdenes. Mayús+Clic muestra una estimación del precio sin realizar la compra -STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Esto comprará una copia del barco. Pulse este botón y después el barco dentro o fuera del muelle. Ctrl+Clic compartirá las órdenes. Mayús+Clic muestra una estimación del precio sin realizar la compra -STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Esto comprará una copia de la aeronave. Pulse este botón y después en la aeronave dentro o fuera del hangar. Ctrl+Clic compartirá las órdenes. Mayús+Clic muestra una estimación del precio sin realizar la compra +STR_DEPOT_CLONE_TRAIN_DEPOT_INFO :{BLACK}Esto comprará una copia del tren incluyendo todos sus vagones. Clica en este botón y después en un tren dentro o fuera del depósito. Ctrl+clic compartirá las órdenes. Mayús+clic muestra el precio estimado sin realizar la compra +STR_DEPOT_CLONE_ROAD_VEHICLE_DEPOT_INFO :{BLACK}Esto comprará una copia del vehículo de carretera. Clica en este botón y después en un vehículo dentro o fuera del depósito. Ctrl+clic compartirá las órdenes. Mayús+clic muestra una estimación del precio sin realizar la compra +STR_DEPOT_CLONE_SHIP_DEPOT_INFO :{BLACK}Esto comprará una copia del barco. Clica en este botón y después en un barco dentro o fuera del astillero. Ctrl+clic compartirá las órdenes. Mayús+clic muestra una estimación del precio sin realizar la compra +STR_DEPOT_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW :{BLACK}Esto comprará una copia de la aeronave. Clica en este botón y después en una aeronave dentro o fuera del hangar. Ctrl+clic compartirá las órdenes. Mayús+clic muestra una estimación del precio sin realizar la compra -STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centrar vista en posición del depósito de trenes. Ctrl+Clic abre un punto de vista en dicha posición -STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centrar vista en posición del depósito de vehículos. Ctrl+Clic abre un punto de vista en dicha posición -STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centrar vista en posición del astillero. Ctrl+Clic abre un punto de vista en dicha posición -STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centrar vista en posición del hangar. Ctrl+Clic abre un punto de vista en dicha posición +STR_DEPOT_TRAIN_LOCATION_TOOLTIP :{BLACK}Centra la vista en la posición del depósito de trenes. Ctrl+clic abre un punto de vista en dicha posición +STR_DEPOT_ROAD_VEHICLE_LOCATION_TOOLTIP :{BLACK}Centra la vista en la posición del depósito de vehículos. Ctrl+clic abre un punto de vista en dicha posición +STR_DEPOT_SHIP_LOCATION_TOOLTIP :{BLACK}Centra la vista en la posición del astillero. Ctrl+clic abre un punto de vista en dicha posición +STR_DEPOT_AIRCRAFT_LOCATION_TOOLTIP :{BLACK}Centra la vista en la posición del hangar. Ctrl+clic abre un punto de vista en dicha posición -STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Obtener lista de todos los trenes con este depósito en sus órdenes -STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Obtener lista de todos los vehículos con el depósito actual en sus órdenes -STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TOOLTIP :{BLACK}Obtener lista de todos los barcos con este astillero en sus órdenes -STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Obtener lista de todas las aeronaves con cualquier hangar de este aeropuerto en sus órdenes +STR_DEPOT_VEHICLE_ORDER_LIST_TRAIN_TOOLTIP :{BLACK}Obtiene la lista de todos los trenes con este depósito en sus órdenes +STR_DEPOT_VEHICLE_ORDER_LIST_ROAD_VEHICLE_TOOLTIP :{BLACK}Obtiene la lista de todos los vehículos con el depósito actual en sus órdenes +STR_DEPOT_VEHICLE_ORDER_LIST_SHIP_TOOLTIP :{BLACK}Obtiene la lista de todos los barcos con este astillero en sus órdenes +STR_DEPOT_VEHICLE_ORDER_LIST_AIRCRAFT_TOOLTIP :{BLACK}Obtiene la lista de todas las aeronaves con cualquier hangar de este aeropuerto en sus órdenes -STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Clic para detener todos los trenes dentro del depósito -STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Clic para detener todos los vehículos dentro del depósito -STR_DEPOT_MASS_STOP_DEPOT_SHIP_TOOLTIP :{BLACK}Clic para detener todos los barcos dentro del depósito -STR_DEPOT_MASS_STOP_HANGAR_TOOLTIP :{BLACK}Clic para detener todas las aeronaves dentro del hangar +STR_DEPOT_MASS_STOP_DEPOT_TRAIN_TOOLTIP :{BLACK}Clica para detener todos los trenes que están dentro del depósito +STR_DEPOT_MASS_STOP_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Clica para detener todos los vehículos que están dentro del depósito +STR_DEPOT_MASS_STOP_DEPOT_SHIP_TOOLTIP :{BLACK}Clica para detener todos los barcos que están dentro del astillero +STR_DEPOT_MASS_STOP_HANGAR_TOOLTIP :{BLACK}Clica para detener todos las aeronaves que están dentro del hangar -STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP :{BLACK}Clic para arrancar todos los trenes dentro del depósito -STR_DEPOT_MASS_START_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Clic para arrancar todos los vehículos dentro del depósito -STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Clic para arrancar todos los barcos dentro del astillero -STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Clic para arrancar todas las aeronaves dentro del hangar +STR_DEPOT_MASS_START_DEPOT_TRAIN_TOOLTIP :{BLACK}Clica para arrancar todos los trenes que están dentro del depósito +STR_DEPOT_MASS_START_DEPOT_ROAD_VEHICLE_TOOLTIP :{BLACK}Clica para arrancar todos los vehículos que están dentro del depósito +STR_DEPOT_MASS_START_DEPOT_SHIP_TOOLTIP :{BLACK}Clica para arrancar todos los barcos que están dentro del astillero +STR_DEPOT_MASS_START_HANGAR_TOOLTIP :{BLACK}Clica para arrancar todos las aeronaves que están dentro del hangar -STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Está a punto de vender todos los vehículos en el depósito. ¿Está seguro? +STR_DEPOT_SELL_CONFIRMATION_TEXT :{YELLOW}Estás a punto de vender todos los vehículos del depósito. ¿Estás seguro? # Engine preview window STR_ENGINE_PREVIEW_CAPTION :{WHITE}Mensaje del fabricante de vehículos -STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Hemos diseñado un{G "" a} nuev{G o a} {STRING} - ¿estaría interesado en el uso exclusivo por un año de este vehículo, para que podamos comprobar cómo rinde antes de que esté universalmente disponible? +STR_ENGINE_PREVIEW_MESSAGE :{GOLD}Hemos diseñado un{G "" a} nuev{G o a} {STRING} - ¿le interesaría el uso exclusivo de este vehículo durante un año, para que podamos ver cómo funciona antes de ponerlo a disposición del público? STR_ENGINE_PREVIEW_RAILROAD_LOCOMOTIVE :{G=f}locomotora STR_ENGINE_PREVIEW_ELRAIL_LOCOMOTIVE :Locomotora de ferrocarril eléctrico @@ -3718,13 +3743,13 @@ STR_ENGINE_PREVIEW_TRAM_VEHICLE :vehículo de tr STR_ENGINE_PREVIEW_AIRCRAFT :{G=f}aeronave STR_ENGINE_PREVIEW_SHIP :{G=m}barco -STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Coste: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER}{}Coste Mantenimiento: {CURRENCY_LONG}/año{}Capacidad: {CARGO_LONG} -STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Coste: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER} F.T. Máxima: {6:FORCE}{}Coste Mantenimiento: {4:CURRENCY_LONG}/año{}Capacidad: {5:CARGO_LONG} -STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año -STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Coste: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER :{BLACK}Precio: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER}{}Coste Mantenimiento: {CURRENCY_LONG}/año{}Capacidad: {CARGO_LONG} +STR_ENGINE_PREVIEW_COST_WEIGHT_SPEED_POWER_MAX_TE :{BLACK}Precio: {CURRENCY_LONG} Peso: {WEIGHT_SHORT}{}Velocidad: {VELOCITY} Potencia: {POWER} F.T. Máxima: {6:FORCE}{}Coste Mantenimiento: {4:CURRENCY_LONG}/año{}Capacidad: {5:CARGO_LONG} +STR_ENGINE_PREVIEW_COST_MAX_SPEED_CAP_RUNCOST :{BLACK}Precio: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_CAP_RUNCOST :{BLACK}Precio: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_CAP_RUNCOST :{BLACK}Precio: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING}{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_CAP_RUNCOST :{BLACK}Precio: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}, {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año +STR_ENGINE_PREVIEW_COST_MAX_SPEED_TYPE_RANGE_CAP_RUNCOST :{BLACK}Precio: {CURRENCY_LONG} Velocidad Máx.: {VELOCITY}{}Tipo de aeronave: {STRING} Alcance: {COMMA} casillas{}Capacidad: {CARGO_LONG}{}Coste Mantenimiento: {CURRENCY_LONG}/año # Autoreplace window STR_REPLACE_VEHICLES_WHITE :{WHITE}Reemplazar {STRING} - {STRING} @@ -3734,50 +3759,50 @@ 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 los vehículos que ya posees +STR_REPLACE_VEHICLE_VEHICLES_IN_USE_TOOLTIP :{BLACK}Columna con los vehículos de tu propiedad STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES :{YELLOW}Vehículos disponibles -STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Columna con los vehículos disponibles para sustitución +STR_REPLACE_VEHICLE_AVAILABLE_VEHICLES_TOOLTIP :{BLACK}Columna con los vehículos disponibles para reemplazo -STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Seleccione tipo de vehículo a reemplazar -STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Seleccione nuevo tipo de vehículo a usar en vez del vehículo seleccionado a la izquierda +STR_REPLACE_HELP_LEFT_ARRAY :{BLACK}Selecciona el tipo de vehículo a reemplazar +STR_REPLACE_HELP_RIGHT_ARRAY :{BLACK}Selecciona un nuevo tipo de vehículo a usar en lugar del vehículo seleccionado a la izquierda -STR_REPLACE_VEHICLES_START :{BLACK}Empezar a reemplazar vehículos -STR_REPLACE_VEHICLES_NOW :Reemplazar todos los vehículos ahora -STR_REPLACE_VEHICLES_WHEN_OLD :Reemplazar solamente vehículos viejos -STR_REPLACE_HELP_START_BUTTON :{BLACK}Presiona este botón si quieres reemplazar el vehículo seleccionado a la izquierda por el seleccionado a la derecha +STR_REPLACE_VEHICLES_START :{BLACK}Comenzar a reemplazar vehículos +STR_REPLACE_VEHICLES_NOW :Reemplazar ahora todos los vehículos +STR_REPLACE_VEHICLES_WHEN_OLD :Reemplazar sólo vehículos viejos +STR_REPLACE_HELP_START_BUTTON :{BLACK}Presiona este botón para reemplazar el vehículo seleccionado a la izquierda por el seleccionado a la derecha STR_REPLACE_NOT_REPLACING :{BLACK}No reemplazar STR_REPLACE_NOT_REPLACING_VEHICLE_SELECTED :{BLACK}No hay vehículos seleccionados STR_REPLACE_REPLACING_WHEN_OLD :{ENGINE} cuando esté viejo -STR_REPLACE_VEHICLES_STOP :{BLACK}Parar de reemplazar vehículos +STR_REPLACE_VEHICLES_STOP :{BLACK}Detener el reemplazo de vehículos STR_REPLACE_HELP_STOP_BUTTON :{BLACK}Presiona este botón para detener el reemplazo del vehículo situado a la izquierda -STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Cambia entre las ventanas de cambio de vagón y locomotora +STR_REPLACE_ENGINE_WAGON_SELECT_HELP :{BLACK}Alterna la ventana de reemplazo entre locomotoras y vagones STR_REPLACE_ENGINES :Locomotoras STR_REPLACE_WAGONS :Vagones -STR_REPLACE_ALL_RAILTYPE :Todos los vehículos ferroviarios +STR_REPLACE_ALL_RAILTYPE :Todos los vehículos de Ferrocarril STR_REPLACE_ALL_ROADTYPE :Todos los vehículos de carretera -STR_REPLACE_HELP_RAILTYPE :{BLACK}Seleccione tipo de ferrocarril para el que desea reemplazar locomotoras -STR_REPLACE_HELP_ROADTYPE :{BLACK}Selecciona el tipo de carretera para el que se desea reemplazar vehículos +STR_REPLACE_HELP_RAILTYPE :{BLACK}Selecciona el tipo de ferrocarril al que pertenecen los vehiculos a reemplazar +STR_REPLACE_HELP_ROADTYPE :{BLACK}Selecciona el tipo de carretera al que pertenecen los vehiculos a reemplazar STR_REPLACE_HELP_REPLACE_INFO_TAB :{BLACK}Muestra con qué vehículo está siendo reemplazado el vehículo de la izquierda STR_REPLACE_RAIL_VEHICLES :Vehículos de Ferrocarril STR_REPLACE_ELRAIL_VEHICLES :Vehículos de Ferrocarril Eléctrico STR_REPLACE_MONORAIL_VEHICLES :Vehículos de Monorraíl STR_REPLACE_MAGLEV_VEHICLES :Vehículos Maglev -STR_REPLACE_ROAD_VEHICLES :Vehículos Terrestres -STR_REPLACE_TRAM_VEHICLES :Vehículos de Tranvía +STR_REPLACE_ROAD_VEHICLES :Vehículos de Carretera +STR_REPLACE_TRAM_VEHICLES :Tranvías -STR_REPLACE_REMOVE_WAGON :{BLACK}Retirar vagón: {ORANGE}{STRING} -STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Hacer que el reemplazo automático mantenga la longitud del tren quitando vagones (empezando por el frente), si el cambio de locomotora produce un tren más largo +STR_REPLACE_REMOVE_WAGON :{BLACK}Retirar vagones: {ORANGE}{STRING} +STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Fuerza que el reemplazo automático mantenga la longitud del tren, quitando vagones (empezando por la parte delantera) si el reemplazo de vehículos produce un tren más largo # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} -STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centrar la vista principal en la posición del tren. Doble clic seguirá al tren en la vista principal. Ctrl+Clic abre un nuevo punto de vista en dicha posición. -STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centrar la vista principal en la posición del vehículo. Doble clic seguirá al vehículo en la vista principal. Ctrl+Clic abre un nuevo punto de vista en dicha posición. -STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centrar la vista principal en la posición del barco. Doble clic seguirá al barco en la vista principal. Ctrl+Clic abre un nuevo punto de vista en dicha posición. -STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centrar la vista principal en la posición de la aeronave. Doble clic seguirá la aeronave en la vista principal. Ctrl+Clic abre un nuevo punto de vista en dicha posición. +STR_VEHICLE_VIEW_TRAIN_CENTER_TOOLTIP :{BLACK}Centra la vista principal en la posición del tren. Doble clic seguirá al tren en la vista principal. Ctrl+clic abre un nuevo punto de vista en dicha posición. +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Centra la vista principal en la posición del vehículo. Doble clic seguirá al vehículo en la vista principal. Ctrl+clic abre un nuevo punto de vista en dicha posición. +STR_VEHICLE_VIEW_SHIP_CENTER_TOOLTIP :{BLACK}Centra la vista principal en la posición del barco. Doble clic seguirá al barco en la vista principal. Ctrl+clic abre un nuevo punto de vista en dicha posición. +STR_VEHICLE_VIEW_AIRCRAFT_CENTER_TOOLTIP :{BLACK}Centra la vista principal en la posición de la aeronave. Doble clic seguirá la aeronave en la vista principal. Ctrl+clic abre un nuevo punto de vista en dicha posición. STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar tren al depósito. Ctrl+Clic para realizar solamente mantenimiento STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Enviar vehículo al depósito. Ctrl+Clic para realizar solamente mantenimiento @@ -3789,49 +3814,49 @@ STR_VEHICLE_VIEW_CLONE_ROAD_VEHICLE_INFO :{BLACK}Esto com STR_VEHICLE_VIEW_CLONE_SHIP_INFO :{BLACK}Esto comprará una copia del barco. Ctrl+Clic compartirá las órdenes. Mayús+Clic muestra una estimación del precio sin realizar la compra STR_VEHICLE_VIEW_CLONE_AIRCRAFT_INFO :{BLACK}Esto comprará una copia de la aeronave. Ctrl+Clic compartirá las órdenes. Mayús+Clic muestra una estimación del precio sin realizar la compra -STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Forzar al tren a proceder sin esperar a la apertura de señal +STR_VEHICLE_VIEW_TRAIN_IGNORE_SIGNAL_TOOLTIP :{BLACK}Fuerza al tren a proceder sin esperar a la apertura de señal -STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Reformar tren para transportar otro tipo de carga -STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reformar vehículo de carretera para transportar otro tipo de cargas -STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Reformar barco para que transporte otro tipo de carga -STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reformar aeronave para llevar otro tipo de carga +STR_VEHICLE_VIEW_TRAIN_REFIT_TOOLTIP :{BLACK}Reforma el tren para transportar otro tipo de carga +STR_VEHICLE_VIEW_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reforma el vehículo de carretera para transportar otro tipo de carga +STR_VEHICLE_VIEW_SHIP_REFIT_TOOLTIP :{BLACK}Reforma el barco para que transporte otro tipo de carga +STR_VEHICLE_VIEW_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reforma la aeronave para llevar otro tipo de carga -STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Cambiar dirección del tren -STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Forzar vehículo a girar +STR_VEHICLE_VIEW_TRAIN_REVERSE_TOOLTIP :{BLACK}Cambia la dirección del tren +STR_VEHICLE_VIEW_ROAD_VEHICLE_REVERSE_TOOLTIP :{BLACK}Fuerza al vehículo a dar la vuelta STR_VEHICLE_VIEW_TRAIN_ORDERS_TOOLTIP :{BLACK}Ver órdenes del tren. Ctrl+Clic muestra su horario STR_VEHICLE_VIEW_ROAD_VEHICLE_ORDERS_TOOLTIP :{BLACK}Ver órdenes del vehículo Ctrl+Clic muestra su horario STR_VEHICLE_VIEW_SHIP_ORDERS_TOOLTIP :{BLACK}Ver órdenes del barco. Ctrl+Clic muestra su horario STR_VEHICLE_VIEW_AIRCRAFT_ORDERS_TOOLTIP :{BLACK}Ver órdenes de la aeronave. Ctrl+Clic muestra su horario -STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Ver detalles del tren -STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalles del vehículo -STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalles del barco -STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Mostrar detalles de la aeronave +STR_VEHICLE_VIEW_TRAIN_SHOW_DETAILS_TOOLTIP :{BLACK}Muestra los detalles del tren +STR_VEHICLE_VIEW_ROAD_VEHICLE_SHOW_DETAILS_TOOLTIP :{BLACK}Muestra los detalles del vehículo +STR_VEHICLE_VIEW_SHIP_SHOW_DETAILS_TOOLTIP :{BLACK}Muesta los detalles del barco +STR_VEHICLE_VIEW_AIRCRAFT_SHOW_DETAILS_TOOLTIP :{BLACK}Muesta los detalles de la aeronave -STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Acción actual del tren - clicar para detener/arrancar el tren -STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Acción actual del vehículo - clicar para detener/arrancar el vehículo -STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Acción actual del barco - clicar para detener/arrancar el barco -STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Acción actual de la aeronave - clicar para detener/arrancar la aeronave +STR_VEHICLE_VIEW_TRAIN_STATUS_START_STOP_TOOLTIP :{BLACK}Acción actual del tren - clica para detener/arrancar el tren +STR_VEHICLE_VIEW_ROAD_VEHICLE_STATUS_START_STOP_TOOLTIP :{BLACK}Acción actual del vehículo - clica para detener/arrancar el vehículo +STR_VEHICLE_VIEW_SHIP_STATE_STATUS_STOP_TOOLTIP :{BLACK}Acción actual del barco - clica para detener/arrancar el barco +STR_VEHICLE_VIEW_AIRCRAFT_STATUS_START_STOP_TOOLTIP :{BLACK}Acción actual de la aeronave - clica para detener/arrancar la aeronave -STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Centrar la vista principal en el destino de la orden. Ctrl+Clic abre un nuevo punto de vista en dicha posición +STR_VEHICLE_VIEW_ORDER_LOCATION_TOOLTIP :{BLACK}Centra la vista principal en el destino de la orden. Ctrl+clic abre un nuevo punto de vista en dicha posición # Messages in the start stop button in the vehicle view STR_VEHICLE_STATUS_LOADING_UNLOADING :{LTBLUE}Cargando / Descargando -STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Abandonando +STR_VEHICLE_STATUS_LEAVING :{LTBLUE}Partiendo STR_VEHICLE_STATUS_CRASHED :{RED}¡Siniestrado! STR_VEHICLE_STATUS_BROKEN_DOWN :{RED}Averiado -STR_VEHICLE_STATUS_STOPPED :{RED}Parado +STR_VEHICLE_STATUS_STOPPED :{RED}Detenido STR_VEHICLE_STATUS_TRAIN_STOPPING_VEL :{RED}Deteniéndose, {VELOCITY} STR_VEHICLE_STATUS_TRAIN_NO_POWER :{RED}Sin potencia -STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Esperando ruta libre +STR_VEHICLE_STATUS_TRAIN_STUCK :{ORANGE}Esperando vía libre STR_VEHICLE_STATUS_AIRCRAFT_TOO_FAR :{ORANGE}Demasiado lejos del próximo destino STR_VEHICLE_STATUS_HEADING_FOR_STATION_VEL :{LTBLUE}Hacia {STATION}, {VELOCITY} STR_VEHICLE_STATUS_NO_ORDERS_VEL :{LTBLUE}Sin órdenes, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Hacia {WAYPOINT}, {VELOCITY} STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_VEL :{ORANGE}Hacia {DEPOT}, {VELOCITY} -STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Servicio en {DEPOT}, {VELOCITY} +STR_VEHICLE_STATUS_HEADING_FOR_DEPOT_SERVICE_VEL :{LTBLUE}Mantenimiento en {DEPOT}, {VELOCITY} # Vehicle stopped/started animations STR_VEHICLE_COMMAND_STOPPED_SMALL :{TINY_FONT}{RED}Detenido @@ -3875,9 +3900,9 @@ STR_VEHICLE_DETAILS_SERVICING_INTERVAL_PERCENT :{BLACK}Interval STR_VEHICLE_DETAILS_INCREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Incrementar intervalo de mantenimiento en 10. Ctrl+Clic incrementa el intervalo de mantenimiento en 5 STR_VEHICLE_DETAILS_DECREASE_SERVICING_INTERVAL_TOOLTIP :{BLACK}Reducir intervalo de mantenimiento en 10. Ctrl+Clic reduce el intervalo de mantenimiento en 5 -STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Cambiar tipo de intervalo de mantenimiento +STR_SERVICE_INTERVAL_DROPDOWN_TOOLTIP :{BLACK}Cambia el tipo de intervalo de mantenimiento STR_VEHICLE_DETAILS_DEFAULT :Por defecto -STR_VEHICLE_DETAILS_DAYS :Dias +STR_VEHICLE_DETAILS_DAYS :Días STR_VEHICLE_DETAILS_PERCENT :Porcentaje STR_QUERY_RENAME_TRAIN_CAPTION :{WHITE}Nombrar tren @@ -3889,7 +3914,7 @@ STR_QUERY_RENAME_AIRCRAFT_CAPTION :{WHITE}Nombrar STR_VEHICLE_DETAILS_TRAIN_ENGINE_BUILT_AND_VALUE :{LTBLUE}{ENGINE}{BLACK} Construido: {LTBLUE}{NUM}{BLACK} Valor: {LTBLUE}{CURRENCY_LONG} STR_VEHICLE_DETAILS_TRAIN_WAGON_VALUE :{LTBLUE}{ENGINE}{BLACK} Valor: {LTBLUE}{CURRENCY_LONG} -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Carga total (capacidad) de este tren: +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CAPACITY_TEXT :{BLACK}Capacidad de carga total de este tren: 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}) @@ -3898,13 +3923,13 @@ STR_VEHICLE_DETAILS_CARGO_FROM :{LTBLUE}{CARGO_ STR_VEHICLE_DETAILS_CARGO_FROM_MULT :{LTBLUE}{CARGO_LONG} desde {STATION} (x{NUM}) STR_VEHICLE_DETAIL_TAB_CARGO :{BLACK}Carga -STR_VEHICLE_DETAILS_TRAIN_CARGO_TOOLTIP :{BLACK}Mostrar detalles de mercancía transportada +STR_VEHICLE_DETAILS_TRAIN_CARGO_TOOLTIP :{BLACK}Muesta los detalles de la carga transportada STR_VEHICLE_DETAIL_TAB_INFORMATION :{BLACK}Información -STR_VEHICLE_DETAILS_TRAIN_INFORMATION_TOOLTIP :{BLACK}Mostrar detalles de los vehículos +STR_VEHICLE_DETAILS_TRAIN_INFORMATION_TOOLTIP :{BLACK}Muestra los detalles de los vehículos STR_VEHICLE_DETAIL_TAB_CAPACITIES :{BLACK}Capacidades -STR_VEHICLE_DETAILS_TRAIN_CAPACITIES_TOOLTIP :{BLACK}Mostrar capacidades de cada vehículo +STR_VEHICLE_DETAILS_TRAIN_CAPACITIES_TOOLTIP :{BLACK}Muestra la capacidad de cada vehículo STR_VEHICLE_DETAIL_TAB_TOTAL_CARGO :{BLACK}Carga total -STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Mostrar capacidad total del tren, dividida por tipo de carga +STR_VEHICLE_DETAILS_TRAIN_TOTAL_CARGO_TOOLTIP :{BLACK}Muesta la capacidad total del tren, separada por tipo de carga STR_VEHICLE_DETAILS_TRAIN_ARTICULATED_RV_CAPACITY :{BLACK}Capacidad: {LTBLUE} @@ -3915,29 +3940,29 @@ STR_REFIT_NEW_CAPACITY_COST_OF_REFIT :{BLACK}Nueva ca STR_REFIT_NEW_CAPACITY_INCOME_FROM_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}{}{BLACK}Beneficio de reforma: {GREEN}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_COST_OF_AIRCRAFT_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Coste de reforma: {RED}{CURRENCY_LONG} STR_REFIT_NEW_CAPACITY_INCOME_FROM_AIRCRAFT_REFIT :{BLACK}Nueva capacidad: {GOLD}{CARGO_LONG}, {GOLD}{CARGO_LONG}{}{BLACK}Beneficio de reforma: {GREEN}{CURRENCY_LONG} -STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecciona los vehículos a reformar. Arrastrar con el ratón permite seleccionar múltiples vehículos. Hacer Clic en un espacio vacío seleccionará el vehículo completo. Ctrl+Clic selecciona un vehículo y la cadena que tenga a continuación +STR_REFIT_SELECT_VEHICLES_TOOLTIP :{BLACK}Selecciona los vehículos a reformar. Arrastrar con el ratón permite seleccionar múltiples vehículos. Clicar en un espacio vacío seleccionará el vehículo completo. Ctrl+clic selecciona un vehículo y la cadena que tenga a continuación -STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Elegir tipo de carga transportable para el tren -STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Selecciona tipo de carga que transportará el vehículo de carretera -STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Seleccione tipo de carga para que el barco la lleve -STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Seleccione tipo de carga para que la aeronave la lleve +STR_REFIT_TRAIN_LIST_TOOLTIP :{BLACK}Selecciona el tipo de carga que transportará el tren +STR_REFIT_ROAD_VEHICLE_LIST_TOOLTIP :{BLACK}Selecciona el tipo de carga que transportará el vehículo de carretera +STR_REFIT_SHIP_LIST_TOOLTIP :{BLACK}Selecciona el tipo de carga que transportará el barco +STR_REFIT_AIRCRAFT_LIST_TOOLTIP :{BLACK}Selecciona el tipo de carga que transportará la aeronave STR_REFIT_TRAIN_REFIT_BUTTON :{BLACK}Reformar tren STR_REFIT_ROAD_VEHICLE_REFIT_BUTTON :{BLACK}Reformar vehículo de carretera STR_REFIT_SHIP_REFIT_BUTTON :{BLACK}Reformar barco STR_REFIT_AIRCRAFT_REFIT_BUTTON :{BLACK}Reformar aeronave -STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Reformar tren para transportar mercancía resaltada -STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reformar vehículo de carretera para transportar la carga seleccionada -STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Reformar barco para que transporte el tipo de carga resaltado -STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reformar aeronave para que lleve el tipo de carga resaltado +STR_REFIT_TRAIN_REFIT_TOOLTIP :{BLACK}Reforma el tren para que transporte el tipo de carga resaltado +STR_REFIT_ROAD_VEHICLE_REFIT_TOOLTIP :{BLACK}Reforma el vehículo de carretera para transportar la carga seleccionada +STR_REFIT_SHIP_REFIT_TOOLTIP :{BLACK}Reforma el barco para que transporte el tipo de carga resaltado +STR_REFIT_AIRCRAFT_REFIT_TOOLTIP :{BLACK}Reforma la aeronave para que transporte el tipo de carga resaltado # Order view STR_ORDERS_CAPTION :{WHITE}{VEHICLE} (Órdenes) STR_ORDERS_TIMETABLE_VIEW :{BLACK}Horario STR_ORDERS_TIMETABLE_VIEW_TOOLTIP :{BLACK}Cambia a la vista de horarios -STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de órdenes - Clic en una orden para resaltarla. Ctrl+Clic para desplazarse a la estación de la orden +STR_ORDERS_LIST_TOOLTIP :{BLACK}Lista de órdenes - Clica en una orden para resaltarla. Ctrl+clic para desplazarse a la estación de la orden STR_ORDER_INDEX :{COMMA}:{NBSP} STR_ORDER_TEXT :{STRING} {STRING} {STRING} @@ -3950,26 +3975,26 @@ STR_ORDER_GO_TO :Ir a STR_ORDER_GO_NON_STOP_TO :Ir sin paradas a STR_ORDER_GO_VIA :Ir vía STR_ORDER_GO_NON_STOP_VIA :Ir sin paradas vía -STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Cambiar el comportamiento de parada en la orden seleccionada +STR_ORDER_TOOLTIP_NON_STOP :{BLACK}Cambia el comportamiento de parada en la orden seleccionada STR_ORDER_TOGGLE_FULL_LOAD :{BLACK}Carga completa de cualquier carga STR_ORDER_DROP_LOAD_IF_POSSIBLE :Cargar si está disponible STR_ORDER_DROP_FULL_LOAD_ALL :Carga completa de todas las cargas STR_ORDER_DROP_FULL_LOAD_ANY :Carga completa de cualquier carga STR_ORDER_DROP_NO_LOADING :Sin cargar -STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Cambiar el comportamiento de carga en la orden seleccionada +STR_ORDER_TOOLTIP_FULL_LOAD :{BLACK}Cambia el comportamiento de carga en la orden seleccionada STR_ORDER_TOGGLE_UNLOAD :{BLACK}Descargar todo STR_ORDER_DROP_UNLOAD_IF_ACCEPTED :Descargar si es aceptado STR_ORDER_DROP_UNLOAD :Descargar todo STR_ORDER_DROP_TRANSFER :Transferir STR_ORDER_DROP_NO_UNLOADING :No descargar -STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Cambiar el comportamiento de descarga en la orden seleccionada +STR_ORDER_TOOLTIP_UNLOAD :{BLACK}Cambia el comportamiento de descarga en la orden seleccionada STR_ORDER_REFIT :{BLACK}Reformar -STR_ORDER_REFIT_TOOLTIP :{BLACK}Selecciona el tipo de carga a reformar en esta orden. Ctrl+Clic para eliminar la orden de reforma +STR_ORDER_REFIT_TOOLTIP :{BLACK}Selecciona el tipo de carga a reformar en esta orden. Ctrl+clic para eliminar la orden de reforma STR_ORDER_REFIT_AUTO :{BLACK}Reforma en la estación -STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Selecciona el tipo de carga a reformar en esta orden. Ctrl+Clic elimina la orden de reforma. La reforma solamente puede llevarse a cabo si el vehículo lo permite +STR_ORDER_REFIT_AUTO_TOOLTIP :{BLACK}Selecciona el tipo de carga a reformar en esta orden. Ctrl+clic elimina la orden de reforma. La reforma solamente puede relalizarse si el vehículo lo permite STR_ORDER_DROP_REFIT_AUTO :Carga fijada STR_ORDER_DROP_REFIT_AUTO_ANY :Carga disponible @@ -3977,50 +4002,50 @@ STR_ORDER_SERVICE :{BLACK}Mantenim STR_ORDER_DROP_GO_ALWAYS_DEPOT :Ir siempre STR_ORDER_DROP_SERVICE_DEPOT :Mantenimiento si es necesario STR_ORDER_DROP_HALT_DEPOT :Detenerse -STR_ORDER_SERVICE_TOOLTIP :{BLACK}Saltar esta orden a menos que un mantenimiento sea necesario +STR_ORDER_SERVICE_TOOLTIP :{BLACK}Salta esta orden a menos que un mantenimiento sea necesario -STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Datos del vehículo para saltarse +STR_ORDER_CONDITIONAL_VARIABLE_TOOLTIP :{BLACK}Datos del vehículo en los que se basará para realizar el salto de orden # Conditional order variables, must follow order of OrderConditionVariable enum STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE :Porcentaje de carga STR_ORDER_CONDITIONAL_RELIABILITY :Fiabilidad STR_ORDER_CONDITIONAL_MAX_SPEED :Velocidad Máxima STR_ORDER_CONDITIONAL_AGE :Edad (años) -STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Requiere mantenimiento +STR_ORDER_CONDITIONAL_REQUIRES_SERVICE :Necesita mantenimiento STR_ORDER_CONDITIONAL_UNCONDITIONALLY :Siempre -STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Tiempo de vida restante (años) +STR_ORDER_CONDITIONAL_REMAINING_LIFETIME :Vida útil restante (años) STR_ORDER_CONDITIONAL_MAX_RELIABILITY :Fiabilidad máxima -STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Como comparar los datos del vehículo al valor dado +STR_ORDER_CONDITIONAL_COMPARATOR_TOOLTIP :{BLACK}Cómo se compararán los datos del vehículo con respecto a los valores dados STR_ORDER_CONDITIONAL_COMPARATOR_EQUALS :es igual a STR_ORDER_CONDITIONAL_COMPARATOR_NOT_EQUALS :no es igual a -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :es menos de -STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :es menos o igual a -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :es más de -STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :es más o igual a +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_THAN :es menor que +STR_ORDER_CONDITIONAL_COMPARATOR_LESS_EQUALS :es menor o igual que +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_THAN :es mayor que +STR_ORDER_CONDITIONAL_COMPARATOR_MORE_EQUALS :es mayor o igual que STR_ORDER_CONDITIONAL_COMPARATOR_IS_TRUE :es verdadero STR_ORDER_CONDITIONAL_COMPARATOR_IS_FALSE :es falso -STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}El valor a comparar de los datos del vehículo contra -STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Introduce el valor a comparar +STR_ORDER_CONDITIONAL_VALUE_TOOLTIP :{BLACK}El valor con el que se compararán los datos del vehículo +STR_ORDER_CONDITIONAL_VALUE_CAPT :{WHITE}Introduce el valor con el que comparar STR_ORDERS_SKIP_BUTTON :{BLACK}Saltarse -STR_ORDERS_SKIP_TOOLTIP :{BLACK}Saltar orden actual y comenzar la siguiente. Ctrl+Clic salta a la orden seleccionada +STR_ORDERS_SKIP_TOOLTIP :{BLACK}Salta la orden actual y comenienza la siguiente. Ctrl+clic salta a la orden seleccionada STR_ORDERS_DELETE_BUTTON :{BLACK}Borrar -STR_ORDERS_DELETE_TOOLTIP :{BLACK}Borrar orden resaltada -STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Borrar todas las órdenes -STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Parar de compartir -STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Parar de compartir la lista de órdenes. Adicionalmente, Ctrl+Clic borra todas las órdenes de este vehículo +STR_ORDERS_DELETE_TOOLTIP :{BLACK}Borra la orden resaltada +STR_ORDERS_DELETE_ALL_TOOLTIP :{BLACK}Borra todas las órdenes +STR_ORDERS_STOP_SHARING_BUTTON :{BLACK}Dejar de compartir +STR_ORDERS_STOP_SHARING_TOOLTIP :{BLACK}Dejar de compartir la lista de órdenes. Adicionalmente, Ctrl+clic borra todas las órdenes compartidas para este vehículo STR_ORDERS_GO_TO_BUTTON :{BLACK}Ir a STR_ORDER_GO_TO_NEAREST_DEPOT :Ir al depósito más cercano STR_ORDER_GO_TO_NEAREST_HANGAR :Ir al hangar más cercano STR_ORDER_CONDITIONAL :Salto de orden condicional STR_ORDER_SHARE :Compartir órdenes -STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Añadir nueva orden antes de la orden resaltada, o añadirla al final de la lista. Ctrl sobre estaciones ordena 'Carga completa de cualquier carga', sobre puntos de ruta ordena 'sin paradas' y sobre depósitos ordena 'mantenimiento'. Ctrl o Compartir órdenes permite a este vehículo compartir órdenes con el vehículo seleccionado. Clic sobre un vehículo copia las órdenes. Una órden de depósito desactiva el mantenimiento automático del vehículo +STR_ORDERS_GO_TO_TOOLTIP :{BLACK}Añade una nueva orden antes de la orden resaltada, o la añade al final de la lista. Ctrl sobre estaciones ordena 'Carga completa de cualquier carga', sobre puntos de ruta ordena 'sin paradas' y sobre depósitos ordena 'mantenimiento'. Ctrl o Compartir órdenes permite a este vehículo compartir órdenes con el vehículo seleccionado. Clica sobre un vehículo copia las órdenes. Una órden de depósito desactiva el mantenimiento automático del vehículo -STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Ver todos los vehículos con el mismo calendario +STR_ORDERS_VEH_WITH_SHARED_ORDERS_LIST_TOOLTIP :{BLACK}Ver todos los vehículos con el mismo horario # String parts to build the order string STR_ORDER_GO_TO_WAYPOINT :Ir vía {WAYPOINT} @@ -4037,8 +4062,8 @@ STR_ORDER_SHIP_DEPOT :Astillero de ba STR_ORDER_GO_TO_NEAREST_DEPOT_FORMAT :{STRING} {STRING} {STRING} STR_ORDER_GO_TO_DEPOT_FORMAT :{STRING} {DEPOT} -STR_ORDER_REFIT_ORDER :(Reformar en {STRING}) -STR_ORDER_REFIT_STOP_ORDER :(Reformar en {STRING} y detenerse) +STR_ORDER_REFIT_ORDER :(Reformar a {STRING}) +STR_ORDER_REFIT_STOP_ORDER :(Reformar a {STRING} y detenerse) STR_ORDER_STOP_ORDER :(Detenerse) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} @@ -4083,16 +4108,16 @@ STR_ORDER_STOP_LOCATION_FAR_END :[extremo lejano STR_ORDER_OUT_OF_RANGE :{RED} (El próximo destino está fuera de alcance) -STR_ORDER_CONDITIONAL_UNCONDITIONAL :Saltar a orden {COMMA} -STR_ORDER_CONDITIONAL_NUM :Saltar a orden {COMMA} cuando {STRING} {STRING} {COMMA} -STR_ORDER_CONDITIONAL_TRUE_FALSE :Saltar a orden {COMMA} cuando {STRING} {STRING} +STR_ORDER_CONDITIONAL_UNCONDITIONAL :Saltar a la orden {COMMA} +STR_ORDER_CONDITIONAL_NUM :Saltar a la orden {COMMA} cuando {STRING} {STRING} {COMMA} +STR_ORDER_CONDITIONAL_TRUE_FALSE :Saltar a la orden {COMMA} cuando {STRING} {STRING} STR_INVALID_ORDER :{RED} (Orden no válida) # Time table window STR_TIMETABLE_TITLE :{WHITE}{VEHICLE} (Horario) STR_TIMETABLE_ORDER_VIEW :{BLACK}Órdenes -STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Cambiar a la vista de órdenes +STR_TIMETABLE_ORDER_VIEW_TOOLTIP :{BLACK}Cambia a la vista de órdenes STR_TIMETABLE_TOOLTIP :{BLACK}Horario - Pulse en una orden para marcarla @@ -4121,7 +4146,7 @@ STR_TIMETABLE_STATUS_NOT_STARTED :{BLACK}Este hor STR_TIMETABLE_STATUS_START_AT :{BLACK}Este horario comenzará en {STRING} STR_TIMETABLE_STARTING_DATE :{BLACK}Fecha de inicio -STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Selecciona una fecha como punto de partida de este horario. Ctrl+Clic permite fijar el punto de partida de este horario y distribuye todos los vehículos que lo compartan siempre y cuando el horario esté completo +STR_TIMETABLE_STARTING_DATE_TOOLTIP :{BLACK}Selecciona una fecha como punto de partida de este horario. Ctrl+clic permite fijar el punto de partida de este horario y distribuye todos los vehículos que lo compartan siempre y cuando el horario esté completo STR_TIMETABLE_CHANGE_TIME :{BLACK}Cambiar duración STR_TIMETABLE_WAIT_TIME_TOOLTIP :{BLACK}Cambia la duración de la orden seleccionada @@ -4130,7 +4155,7 @@ STR_TIMETABLE_CLEAR_TIME :{BLACK}Borrar d STR_TIMETABLE_CLEAR_TIME_TOOLTIP :{BLACK}Borra la duración de la orden seleccionada STR_TIMETABLE_CHANGE_SPEED :{BLACK}Cambiar límite de velocidad -STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Cambia el límite de velocidad de la orden seleccionada +STR_TIMETABLE_CHANGE_SPEED_TOOLTIP :{BLACK}Cambia el límite de velocidad de la orden resaltada STR_TIMETABLE_CLEAR_SPEED :{BLACK}Borrar límite de velocidad STR_TIMETABLE_CLEAR_SPEED_TOOLTIP :{BLACK}Borra el límite de velocidad de la orden seleccionada @@ -4139,11 +4164,11 @@ STR_TIMETABLE_RESET_LATENESS :{BLACK}Reinicia STR_TIMETABLE_RESET_LATENESS_TOOLTIP :{BLACK}Pone a cero el retraso del vehículo, así el vehículo estará en hora STR_TIMETABLE_AUTOFILL :{BLACK}Rellenar automáticamente -STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Rellena la tabla de horarios automáticamente con los valores de la siguiente jornada (Ctrl+Clic para tratar de mantener los tiempos de espera)) +STR_TIMETABLE_AUTOFILL_TOOLTIP :{BLACK}Rellena la tabla de horarios automáticamente con los valores de la siguiente jornada (Ctrl+clic para tratar de mantener los tiempos de espera) STR_TIMETABLE_EXPECTED :{BLACK}Esperado STR_TIMETABLE_SCHEDULED :{BLACK}Programado -STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Alternar entre esperado y programado +STR_TIMETABLE_EXPECTED_TOOLTIP :{BLACK}Alterna entre esperado y programado STR_TIMETABLE_ARRIVAL_ABBREVIATION :Ll: STR_TIMETABLE_DEPARTURE_ABBREVIATION :S: @@ -4173,13 +4198,13 @@ STR_AI_DEBUG_BREAK_STR_TOOLTIP :{BLACK}Cuando u STR_AI_DEBUG_MATCH_CASE :{BLACK}Comprobar mayúsculas/minúsculas STR_AI_DEBUG_MATCH_CASE_TOOLTIP :{BLACK}Activa/desactiva la comprobación de mayúsculas y minúsculas al comparar los mensajes de log de la IA con la cadena de parada STR_AI_DEBUG_CONTINUE :{BLACK}Continuar -STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Quitar pausa y hacer que la IA continúe +STR_AI_DEBUG_CONTINUE_TOOLTIP :{BLACK}Quita la pausa y hace que la IA continúe STR_AI_DEBUG_SELECT_AI_TOOLTIP :{BLACK}Mostrar salida de depuración de esta IA STR_AI_GAME_SCRIPT :{BLACK}Script de juego STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Comprobar el registro del Script de juego -STR_ERROR_AI_NO_AI_FOUND :No se encontró IA apropiada para cargar.{}Ésta es una IA por defecto que no realiza acción alguna.{}Puedes descargar nuevas IA mediante el sistema de 'Contenido Online' -STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Uno de los scripts ejecutados ha fallado. Por favor, informe del fallo al autor del script con una captura de la ventana de depuración de Script / IA +STR_ERROR_AI_NO_AI_FOUND :No se encontró ninguna IA apropiada para cargar.{}Ésta es una IA por defecto que no realiza acción alguna.{}Puedes descargar nuevas IA mediante el sistema de 'Contenido Online' +STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}Uno de los scripts ejecutados ha fallado. Por favor, informa del fallo al autor del script con una captura de la ventana de depuración de Script / IA STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}La ventana de depuración de Scripts solo está disponible para el servidor # AI configuration window @@ -4210,7 +4235,7 @@ STR_AI_CONFIG_CONFIGURE_TOOLTIP :{BLACK}Configur STR_AI_LIST_CAPTION :{WHITE}Disponible {STRING} STR_AI_LIST_CAPTION_AI :IAs STR_AI_LIST_CAPTION_GAMESCRIPT :Scripts de juego -STR_AI_LIST_TOOLTIP :{BLACK}Clic para seleccionar un script +STR_AI_LIST_TOOLTIP :{BLACK}Clicar para seleccionar un script STR_AI_LIST_AUTHOR :{LTBLUE}Autor: {ORANGE}{STRING} STR_AI_LIST_VERSION :{LTBLUE}Versión: {ORANGE}{NUM} @@ -4236,16 +4261,16 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de juego STR_AI_SETTINGS_CLOSE :{BLACK}Cerrar STR_AI_SETTINGS_RESET :{BLACK}Reiniciar STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING} -STR_AI_SETTINGS_START_DELAY :Número de días a esperar antes de comenzar esta IA desde el momento en el que empezó la anterior: {ORANGE}{STRING} +STR_AI_SETTINGS_START_DELAY :Número de días (aproximados) de espera antes de comenzar esta IA desde el momento en el que empezó la anterior: {ORANGE}{STRING} # Textfile window -STR_TEXTFILE_README_CAPTION :{WHITE}Leeme del {STRING} {STRING} +STR_TEXTFILE_README_CAPTION :{WHITE}Léeme del {STRING} {STRING} STR_TEXTFILE_CHANGELOG_CAPTION :{WHITE}Registro de cambios del {STRING} {STRING} STR_TEXTFILE_LICENCE_CAPTION :{WHITE}Licencia del {STRING} {STRING} -STR_TEXTFILE_WRAP_TEXT :{WHITE}Unir texto -STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Unir el texto de la ventana para que quepa sin tener que usar el scroll -STR_TEXTFILE_VIEW_README :{BLACK}Ver leeme +STR_TEXTFILE_WRAP_TEXT :{WHITE}Limitar anchura de texto +STR_TEXTFILE_WRAP_TEXT_TOOLTIP :{BLACK}Limitar anchura de texto en la ventana para que se pueda leer sin usar la barra de desplazamiento +STR_TEXTFILE_VIEW_README :{BLACK}Ver léeme STR_TEXTFILE_VIEW_CHANGELOG :{BLACK}Registro de cambios STR_TEXTFILE_VIEW_LICENCE :{BLACK}Licencia @@ -4275,12 +4300,12 @@ STR_MESSAGE_ESTIMATED_COST :{WHITE}Coste es STR_MESSAGE_ESTIMATED_INCOME :{WHITE}Ingreso estimado: {CURRENCY_LONG} # Saveload messages -STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}El guardado está en progreso,{}¡por favor espere hasta que termine! -STR_ERROR_AUTOSAVE_FAILED :{WHITE}Error en Autoguardado +STR_ERROR_SAVE_STILL_IN_PROGRESS :{WHITE}El guardado está en progreso,{}¡por favor espera hasta que termine! +STR_ERROR_AUTOSAVE_FAILED :{WHITE}Error al autoguardar STR_ERROR_UNABLE_TO_READ_DRIVE :{BLACK}No es posible leer la unidad -STR_ERROR_GAME_SAVE_FAILED :{WHITE}Error guardando juego{}{STRING} +STR_ERROR_GAME_SAVE_FAILED :{WHITE}Error guardando partida{}{STRING} STR_ERROR_UNABLE_TO_DELETE_FILE :{WHITE}No es posible borrar el archivo -STR_ERROR_GAME_LOAD_FAILED :{WHITE}Carga de Juego Errónea{}{STRING} +STR_ERROR_GAME_LOAD_FAILED :{WHITE}Carga de Partida Errónea{}{STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR :Error interno: {STRING} STR_GAME_SAVELOAD_ERROR_BROKEN_SAVEGAME :Partida guardada corrupta - {STRING} STR_GAME_SAVELOAD_ERROR_TOO_NEW_SAVEGAME :La partida guardada ha sido realizada con una versión más nueva @@ -4289,7 +4314,7 @@ STR_GAME_SAVELOAD_ERROR_FILE_NOT_WRITEABLE :No se puede esc STR_GAME_SAVELOAD_ERROR_DATA_INTEGRITY_CHECK_FAILED :Comprobación de integridad de los datos fallida STR_GAME_SAVELOAD_ERROR_PATCHPACK :La partida guardada ha sido realizada cona una versión modificada.. STR_GAME_SAVELOAD_NOT_AVAILABLE : -STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}El juego se ha guardado en una versión sin soporte para tranvías. Todos los tranvías han sido eliminados +STR_WARNING_LOADGAME_REMOVED_TRAMS :{WHITE}La partida se guardó en una versión sin soporte para tranvías. Todos los tranvías han sido eliminados # Map generation messages STR_ERROR_COULD_NOT_CREATE_TOWN :{WHITE}Generación de mapa abortada...{}... no hay localizaciones apropiadas para municipios @@ -4297,7 +4322,7 @@ STR_ERROR_NO_TOWN_IN_SCENARIO :{WHITE}... no h STR_ERROR_PNGMAP :{WHITE}No se pudo cargar mapa de alturas PNG... STR_ERROR_PNGMAP_FILE_NOT_FOUND :{WHITE}... archivo no encontrado -STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... no se pudo convertir tipo de imagen. Se requieren imágenes PNG de 8 o 24-bits +STR_ERROR_PNGMAP_IMAGE_TYPE :{WHITE}... no se ha podido convertir tipo de imagen. Se requieren imágenes PNG de 8 o 24-bits STR_ERROR_PNGMAP_MISC :{WHITE}... algo ha salido mal (es probable que el fichero esté corrupto) STR_ERROR_BMPMAP :{WHITE}No se pudo cargar mapa de alturas BMP... @@ -4306,14 +4331,14 @@ STR_ERROR_BMPMAP_IMAGE_TYPE :{WHITE}... no s STR_ERROR_HEIGHTMAP_TOO_LARGE :{WHITE}... la imagen es demasiado grande STR_WARNING_HEIGHTMAP_SCALE_CAPTION :{WHITE}Alerta de escala -STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}No es recomendable cambiar en exceso el tamaño del mapa original. ¿Desea continuar con la generación? +STR_WARNING_HEIGHTMAP_SCALE_MESSAGE :{YELLOW}No es recomendable cambiar en exceso el tamaño del mapa original. ¿Deseas continuar con la generación? # Soundset messages -STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Solamente se encontró un conjunto de sonidos vacío. Si lo desea, instale un conjunto de sonidos a través del 'Contenido Online' +STR_WARNING_FALLBACK_SOUNDSET :{WHITE}Solamente se encontró un conjunto de sonidos vacío. Si lo deseas, instala un conjunto de sonidos a través del 'Contenido Online' # Screenshot related messages STR_WARNING_SCREENSHOT_SIZE_CAPTION :{WHITE}Captura de pantalla gigante -STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}La captura de pantalla tendrá una resolución {COMMA} x {COMMA} pixeles. Realizar la captura puede llevar un tiempo. ¿Desea continuar? +STR_WARNING_SCREENSHOT_SIZE_MESSAGE :{YELLOW}La captura de pantalla tendrá una resolución {COMMA} x {COMMA} pixeles. Realizar la captura puede tardar tiempo. ¿Deseas continuar? STR_MESSAGE_SCREENSHOT_SUCCESSFULLY :{WHITE}Captura de pantalla realizada con éxito en '{STRING}' STR_ERROR_SCREENSHOT_FAILED :{WHITE}¡Captura de pantalla fallida! @@ -4334,7 +4359,7 @@ STR_ERROR_CAN_T_CLEAR_THIS_AREA :{WHITE}No se pu STR_ERROR_SITE_UNSUITABLE :{WHITE}... lugar no apropiado STR_ERROR_ALREADY_BUILT :{WHITE}... ya construido STR_ERROR_OWNED_BY :{WHITE}... propiedad de {STRING} -STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... otra empresa posee esta área +STR_ERROR_AREA_IS_OWNED_BY_ANOTHER :{WHITE}... el área es propiedad de otra empresa STR_ERROR_TERRAFORM_LIMIT_REACHED :{WHITE}... límite de modificación de terreno alcanzado STR_ERROR_CLEARING_LIMIT_REACHED :{WHITE}... límite de casillas despejadas alcanzado STR_ERROR_TREE_PLANT_LIMIT_REACHED :{WHITE}... limite de plantación de árboles alcanzado @@ -4353,9 +4378,9 @@ STR_ERROR_CAN_T_RAISE_LAND_HERE :{WHITE}No se pu STR_ERROR_CAN_T_LOWER_LAND_HERE :{WHITE}No se puede bajar el terreno aquí... STR_ERROR_CAN_T_LEVEL_LAND_HERE :{WHITE}No se puede nivelar el terreno aquí... STR_ERROR_EXCAVATION_WOULD_DAMAGE :{WHITE}La excavación dañaría el túnel -STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... ya está al nivel del mar +STR_ERROR_ALREADY_AT_SEA_LEVEL :{WHITE}... ya está a nivel del mar STR_ERROR_TOO_HIGH :{WHITE}... demasiado alto -STR_ERROR_ALREADY_LEVELLED :{WHITE}... ya está llano +STR_ERROR_ALREADY_LEVELLED :{WHITE}... ya es 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 @@ -4381,11 +4406,11 @@ STR_ERROR_CAN_T_RENAME_TOWN :{WHITE}No se pu 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 este 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 municipio +STR_ERROR_TOO_CLOSE_TO_ANOTHER_TOWN :{WHITE}... demasiado cerca de 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 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_ROAD_WORKS_IN_PROGRESS :{WHITE}Obras de carretera en progreso 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 @@ -4405,8 +4430,8 @@ STR_ERROR_CAN_ONLY_BE_BUILT_NEAR_TOWN_CENTER :{WHITE}... solo STR_ERROR_CAN_ONLY_BE_BUILT_IN_LOW_AREAS :{WHITE}... solo puede construirse en zonas bajas STR_ERROR_CAN_ONLY_BE_POSITIONED :{WHITE}... solo puede colocarse cerca de los bordes del mapa STR_ERROR_FOREST_CAN_ONLY_BE_PLANTED :{WHITE}... solo se pueden plantar bosques sobre la nieve -STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... solo puede construirse por encima de la línea de nieve -STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... solo puede construirse por debajo de la línea de nieve +STR_ERROR_CAN_ONLY_BE_BUILT_ABOVE_SNOW_LINE :{WHITE}... solo puede construirse por encima de la cota de nieve +STR_ERROR_CAN_ONLY_BE_BUILT_BELOW_SNOW_LINE :{WHITE}... solo puede construirse por debajo de la cota 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 @@ -4420,7 +4445,7 @@ STR_ERROR_CAN_T_BUILD_CARGO_TRAM_STATION :{WHITE}No puede STR_ERROR_CAN_T_BUILD_DOCK_HERE :{WHITE}No pueden construirse muelles aquí... STR_ERROR_CAN_T_BUILD_AIRPORT_HERE :{WHITE}No puede construirse un aeropuerto aquí... -STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Adjunta más de una estación/zona de carga existente +STR_ERROR_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Contigua a más de una estación/zona de carga existente STR_ERROR_STATION_TOO_SPREAD_OUT :{WHITE}... estación demasiado extendida STR_ERROR_TOO_MANY_STATIONS_LOADING :{WHITE}Demasiadas estaciones/zonas de carga STR_ERROR_TOO_MANY_STATION_SPECS :{WHITE}Demasiadas partes de estación de tren @@ -4430,30 +4455,30 @@ STR_ERROR_TOO_CLOSE_TO_ANOTHER_DOCK :{WHITE}Demasiad 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 municipio -STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en la dirección incorrecta +STR_ERROR_DRIVE_THROUGH_DIRECTION :{WHITE}... carretera en 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 # Station destruction related errors STR_ERROR_CAN_T_REMOVE_PART_OF_STATION :{WHITE}No se puede retirar parte de la estación... -STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Debes retirar la estación de trenes primero +STR_ERROR_MUST_REMOVE_RAILWAY_STATION_FIRST :{WHITE}Primero se debe retirar la estación de tren STR_ERROR_CAN_T_REMOVE_BUS_STATION :{WHITE}No se puede retirar estación de bus... -STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}No se puede quitar estación de camiones... -STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}No se puede quitar estación de tranvía de pasajeros... -STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}No se puede quitar estación de tranvía de carga... +STR_ERROR_CAN_T_REMOVE_TRUCK_STATION :{WHITE}No se puede retirar estación de camiones... +STR_ERROR_CAN_T_REMOVE_PASSENGER_TRAM_STATION :{WHITE}No se puede retirar estación de tranvía de pasajeros... +STR_ERROR_CAN_T_REMOVE_CARGO_TRAM_STATION :{WHITE}No se puede retirar estación de tranvía de carga... STR_ERROR_MUST_REMOVE_ROAD_STOP_FIRST :{WHITE}Primero debe retirar la parada STR_ERROR_THERE_IS_NO_STATION :{WHITE}... no hay ninguna estación aquí STR_ERROR_MUST_DEMOLISH_RAILROAD :{WHITE}Primero debe demolerse estación de trenes STR_ERROR_MUST_DEMOLISH_BUS_STATION_FIRST :{WHITE}Primero debe demolerse estación de autobús STR_ERROR_MUST_DEMOLISH_TRUCK_STATION_FIRST :{WHITE}Primero debe demolerse estación de camiones -STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Debe demoler la estación del tranvía de pasajeros primero -STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Debe demoler la estación del tranvía de carga primero +STR_ERROR_MUST_DEMOLISH_PASSENGER_TRAM_STATION_FIRST :{WHITE}Primero debe demolerse la estación de tranvía de pasajeros +STR_ERROR_MUST_DEMOLISH_CARGO_TRAM_STATION_FIRST :{WHITE}Primero debe demolerse la estacion de tranvia de carga STR_ERROR_MUST_DEMOLISH_DOCK_FIRST :{WHITE}Primero debe demolerse el muelle STR_ERROR_MUST_DEMOLISH_AIRPORT_FIRST :{WHITE}Primero debe demolerse el aeropuerto # Waypoint related errors -STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Une más de un punto de ruta existente +STR_ERROR_WAYPOINT_ADJOINS_MORE_THAN_ONE_EXISTING :{WHITE}Contiguo a más de un punto de ruta existente STR_ERROR_TOO_CLOSE_TO_ANOTHER_WAYPOINT :{WHITE}Demasiado cerca de otro punto de ruta STR_ERROR_CAN_T_BUILD_TRAIN_WAYPOINT :{WHITE}No se puede construir punto de ruta para trenes aquí... @@ -4461,7 +4486,7 @@ STR_ERROR_CAN_T_POSITION_BUOY_HERE :{WHITE}No se pu STR_ERROR_CAN_T_CHANGE_WAYPOINT_NAME :{WHITE}No se puede cambiar el nombre del punto de ruta... STR_ERROR_CAN_T_REMOVE_TRAIN_WAYPOINT :{WHITE}No se puede retirar punto de ruta aquí... -STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Primero se debe retirar punto de ruta para trenes +STR_ERROR_MUST_REMOVE_RAILWAYPOINT_FIRST :{WHITE}Primero se debe retirar el punto de ruta STR_ERROR_BUOY_IN_THE_WAY :{WHITE}... boya en medio STR_ERROR_BUOY_IS_IN_USE :{WHITE}... ¡boya en uso por otra empresa! @@ -4475,17 +4500,17 @@ STR_ERROR_CAN_T_RENAME_DEPOT :{WHITE}No se pu STR_ERROR_TRAIN_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... debe de estar detenido dentro de un depósito STR_ERROR_ROAD_VEHICLE_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... debe de estar detenido dentro de un depósito -STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... debe de estar detenido dentro de un astillero -STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... debe de estar detenido dentro de un hangar +STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT :{WHITE}... debe estar detenido dentro de un astillero +STR_ERROR_AIRCRAFT_MUST_BE_STOPPED_INSIDE_HANGAR :{WHITE}... debe estar detenido dentro de un hangar -STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Los trenes únicamente pueden ser modificarse estando detenidos dentro de un depósito +STR_ERROR_TRAINS_CAN_ONLY_BE_ALTERED_INSIDE_A_DEPOT :{WHITE}Los trenes únicamente pueden modificarse estando detenidos dentro de un depósito STR_ERROR_TRAIN_TOO_LONG :{WHITE}Tren demasiado largo STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE :{WHITE}No se puede cambiar dirección del vehículo... STR_ERROR_CAN_T_REVERSE_DIRECTION_RAIL_VEHICLE_MULTIPLE_UNITS :{WHITE}... vehículo compuesto por múltiples unidades STR_ERROR_INCOMPATIBLE_RAIL_TYPES :Tipo de ferrocarril incompatible STR_ERROR_CAN_T_MOVE_VEHICLE :{WHITE}No se puede mover vehículo... -STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}El motor posterior debe seguir siempre a su contraparte delantera +STR_ERROR_REAR_ENGINE_FOLLOW_FRONT :{WHITE}La cabeza tractora posterior debe seguir siempre a su contraparte delantera STR_ERROR_UNABLE_TO_FIND_ROUTE_TO :{WHITE}No se puede encontrar ruta al depósito STR_ERROR_UNABLE_TO_FIND_LOCAL_DEPOT :{WHITE}No se puede encontrar ruta al depósito @@ -4493,17 +4518,17 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Tipo de depósi # Autoreplace related errors STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} es demasiado largo después del reemplazo -STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}No se han aplicado reglas de autoreemplazo/renovación +STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}No se han aplicado reglas de autorreemplazo/renovación STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(límite de dinero) STR_ERROR_AUTOREPLACE_INCOMPATIBLE_CARGO :{WHITE}El nuevo vehículo no puede transportar {STRING} STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}El nuevo vehículo no se puede reformar en la orden {NUM} # Rail construction errors -STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Combinación de tramos imposible -STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Primero debe retirar señales -STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Tramo de ferrocarril no apropiado -STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Primero se debe retirar tramo de ferrocarril -STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Carretera de un solo sentido o bloqueada +STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Combinación imposible de vías +STR_ERROR_MUST_REMOVE_SIGNALS_FIRST :{WHITE}Primero deben retirar las señales +STR_ERROR_NO_SUITABLE_RAILROAD_TRACK :{WHITE}Vía de ferrocarril no apropiada +STR_ERROR_MUST_REMOVE_RAILROAD_TRACK :{WHITE}Primero se debe retirar la vía de ferrocarril +STR_ERROR_CROSSING_ON_ONEWAY_ROAD :{WHITE}Carretera de sentido único o bloqueada STR_ERROR_CROSSING_DISALLOWED_RAIL :{WHITE}No se permiten pasos a nivel para este tipo de ferrocarril STR_ERROR_CROSSING_DISALLOWED_ROAD :{WHITE}No se permiten pasos a nivel para este tipo de carretera STR_ERROR_CAN_T_BUILD_SIGNALS_HERE :{WHITE}No se pueden construir señales aquí... @@ -4517,8 +4542,8 @@ STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... no h STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}No se puede convertir tipo de ferrocarril aquí... # Road construction errors -STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Ha de retirar carretera primero -STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... carreteras de un sentido no pueden tener intersecciones +STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Primero se debe retirar la carretera +STR_ERROR_ONEWAY_ROADS_CAN_T_HAVE_JUNCTION :{WHITE}... las carreteras de sentido único no pueden tener intersecciones STR_ERROR_CAN_T_BUILD_ROAD_HERE :{WHITE}No se puede construir carretera aquí... STR_ERROR_CAN_T_BUILD_TRAMWAY_HERE :{WHITE}No se puede construir un tranvía aquí... STR_ERROR_CAN_T_REMOVE_ROAD_FROM :{WHITE}No se puede retirar carretera de aquí... @@ -4527,20 +4552,20 @@ STR_ERROR_THERE_IS_NO_ROAD :{WHITE}... no h STR_ERROR_THERE_IS_NO_TRAMWAY :{WHITE}... no hay tranvía STR_ERROR_CAN_T_CONVERT_ROAD :{WHITE}No es posible transformar esta carretera... STR_ERROR_CAN_T_CONVERT_TRAMWAY :{WHITE}No se puede convertir el tipo de tranvía aquí... -STR_ERROR_NO_SUITABLE_ROAD :{WHITE}No hay carretera adecuada -STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}No hay un tranvía adecuado +STR_ERROR_NO_SUITABLE_ROAD :{WHITE}Carretera no adecuada +STR_ERROR_NO_SUITABLE_TRAMWAY :{WHITE}Vía de tranvía no adecuado STR_ERROR_INCOMPATIBLE_TRAMWAY :{WHITE}... tranvía incompatible # Waterway construction errors STR_ERROR_CAN_T_BUILD_CANALS :{WHITE}No pueden construirse canales aquí... -STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}No pueden construirse dársenas aquí... +STR_ERROR_CAN_T_BUILD_LOCKS :{WHITE}No pueden construirse esclusas aquí... STR_ERROR_CAN_T_PLACE_RIVERS :{WHITE}No se pueden situar ríos aquí... STR_ERROR_MUST_BE_BUILT_ON_WATER :{WHITE}... debe construirse sobre el agua STR_ERROR_CAN_T_BUILD_ON_WATER :{WHITE}... no se puede construir sobre el agua STR_ERROR_CAN_T_BUILD_ON_SEA :{WHITE}... no se puede construir en mar abierto STR_ERROR_CAN_T_BUILD_ON_CANAL :{WHITE}... no se puede construir en un canal STR_ERROR_CAN_T_BUILD_ON_RIVER :{WHITE}... no se puede construir en un río -STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Debes demoler el canal primero +STR_ERROR_MUST_DEMOLISH_CANAL_FIRST :{WHITE}Primero debe demolerse el canal STR_ERROR_CAN_T_BUILD_AQUEDUCT_HERE :{WHITE}No puede construirse un acueducto aquí # Tree related errors @@ -4581,7 +4606,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_SET_PARENT :{WHITE}No se puede establecer el grupo superior... STR_ERROR_GROUP_CAN_T_SET_PARENT_RECURSION :{WHITE}... No se permiten bucles en la jerarquía del grupo 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... @@ -4610,8 +4635,8 @@ STR_ERROR_CAN_T_STOP_START_AIRCRAFT :{WHITE}No se pu STR_ERROR_CAN_T_SEND_TRAIN_TO_DEPOT :{WHITE}No se puede enviar el tren al depósito... STR_ERROR_CAN_T_SEND_ROAD_VEHICLE_TO_DEPOT :{WHITE}No se puede enviar vehículo al depósito... -STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}No se puede mandar barco a astillero... -STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}No se puede enviar la aeronave al hangar +STR_ERROR_CAN_T_SEND_SHIP_TO_DEPOT :{WHITE}No se puede enviar el barco al astillero... +STR_ERROR_CAN_T_SEND_AIRCRAFT_TO_HANGAR :{WHITE}No se puede enviar la aeronave al hangar... STR_ERROR_CAN_T_BUY_TRAIN :{WHITE}No se puede comprar tren... STR_ERROR_CAN_T_BUY_ROAD_VEHICLE :{WHITE}No se puede comprar vehículo... @@ -4633,8 +4658,8 @@ STR_ERROR_ROAD_VEHICLE_NOT_AVAILABLE :{WHITE}Vehícul STR_ERROR_SHIP_NOT_AVAILABLE :{WHITE}Barco no disponible STR_ERROR_AIRCRAFT_NOT_AVAILABLE :{WHITE}Aeronave no disponible -STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Demasiados vehículos en juego -STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}Imposible cambiar intervalo de mantenimiento... +STR_ERROR_TOO_MANY_VEHICLES_IN_GAME :{WHITE}Demasiados vehículos en el juego +STR_ERROR_CAN_T_CHANGE_SERVICING :{WHITE}No se puede cambiar intervalo de mantenimiento... STR_ERROR_VEHICLE_IS_DESTROYED :{WHITE}... el vehículo está destruido @@ -4644,11 +4669,11 @@ STR_ERROR_NO_VEHICLES_AVAILABLE_YET :{WHITE}En esta STR_ERROR_NO_VEHICLES_AVAILABLE_YET_EXPLANATION :{WHITE}Comienza una nueva partida después de {DATE_SHORT} o usa un NewGRF que provea vehículos más antiguos # Specific vehicle errors -STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}No se puede pasar la señal en peligro al tren... +STR_ERROR_CAN_T_MAKE_TRAIN_PASS_SIGNAL :{WHITE}No se puede pasar al tren la señal de peligro... STR_ERROR_CAN_T_REVERSE_DIRECTION_TRAIN :{WHITE}No se puede cambiar la dirección... STR_ERROR_TRAIN_START_NO_POWER :El tren no tiene potencia -STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}No se puede girar vehículo de carretera... +STR_ERROR_CAN_T_MAKE_ROAD_VEHICLE_TURN :{WHITE}No se puede dar la vuelta al vehículo de carretera... STR_ERROR_AIRCRAFT_IS_IN_FLIGHT :{WHITE}La aeronave está en vuelo @@ -4666,21 +4691,21 @@ STR_ERROR_CAN_T_ADD_ORDER :{WHITE}... el v STR_ERROR_CAN_T_ADD_ORDER_SHARED :{WHITE}... un vehículo que comparte esta orden no puede ir a esa estación STR_ERROR_CAN_T_SHARE_ORDER_LIST :{WHITE}No se puede compartir lista de órdenes... -STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}No se puede parar de compartir lista de órdenes... +STR_ERROR_CAN_T_STOP_SHARING_ORDER_LIST :{WHITE}No se puede dejar de compartir lista de órdenes... STR_ERROR_CAN_T_COPY_ORDER_LIST :{WHITE}No se puede copiar lista de órdenes... STR_ERROR_TOO_FAR_FROM_PREVIOUS_DESTINATION :{WHITE}... demasiado lejos del destino anterior STR_ERROR_AIRCRAFT_NOT_ENOUGH_RANGE :{WHITE}... la aeronave no tiene suficiente alcance # Timetable related errors STR_ERROR_CAN_T_TIMETABLE_VEHICLE :{WHITE}No se puede asignar horario al vehículo... -STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Los vehículos solo pueden esperar en estaciones +STR_ERROR_TIMETABLE_ONLY_WAIT_AT_STATIONS :{WHITE}Los vehículos sólo pueden esperar en estaciones STR_ERROR_TIMETABLE_NOT_STOPPING_HERE :{WHITE}Este vehículo no va a detenerse en esta estación # Sign related errors -STR_ERROR_TOO_MANY_SIGNS :{WHITE}... demasiados carteles -STR_ERROR_CAN_T_PLACE_SIGN_HERE :{WHITE}No se puede colocar un cartel aquí... -STR_ERROR_CAN_T_CHANGE_SIGN_NAME :{WHITE}No se puede cambiar el nombre del cartel... -STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}No se puede borrar el cartel... +STR_ERROR_TOO_MANY_SIGNS :{WHITE}... demasiados letreros +STR_ERROR_CAN_T_PLACE_SIGN_HERE :{WHITE}No se puede colocar un letrero aquí... +STR_ERROR_CAN_T_CHANGE_SIGN_NAME :{WHITE}No se puede cambiar el nombre del letrero... +STR_ERROR_CAN_T_DELETE_SIGN :{WHITE}No se puede borrar el letrero... # Translatable comment for OpenTTD's desktop shortcut STR_DESKTOP_SHORTCUT_COMMENT :Un juego de simulación basado en Transport Tycoon Deluxe @@ -4706,9 +4731,9 @@ STR_TRADITIONAL_AIRCRAFT_NAME :Aeronave {COMMA # Town building names STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_1 :Bloque alto de oficinas STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_1 :Bloque de oficinas -STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Bloque de apartamentos pequeño +STR_TOWN_BUILDING_NAME_SMALL_BLOCK_OF_FLATS_1 :Bloque de pisos 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_LARGE_OFFICE_BLOCK_1 :Edificio de oficinas grande STR_TOWN_BUILDING_NAME_TOWN_HOUSES_1 :Casas del municipio STR_TOWN_BUILDING_NAME_HOTEL_1 :Hotel STR_TOWN_BUILDING_NAME_STATUE_1 :Estatua @@ -4721,9 +4746,9 @@ STR_TOWN_BUILDING_NAME_WAREHOUSE_1 :Almacén STR_TOWN_BUILDING_NAME_OFFICE_BLOCK_3 :Bloque de oficinas STR_TOWN_BUILDING_NAME_STADIUM_1 :Estadio STR_TOWN_BUILDING_NAME_OLD_HOUSES_1 :Casas viejas -STR_TOWN_BUILDING_NAME_COTTAGES_1 :Casitas +STR_TOWN_BUILDING_NAME_COTTAGES_1 :Casa de campo STR_TOWN_BUILDING_NAME_HOUSES_1 :Casas -STR_TOWN_BUILDING_NAME_FLATS_1 :Apartamentos +STR_TOWN_BUILDING_NAME_FLATS_1 :Pisos STR_TOWN_BUILDING_NAME_TALL_OFFICE_BLOCK_2 :Bloque alto de oficinas STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_2 :Tiendas y oficinas STR_TOWN_BUILDING_NAME_SHOPS_AND_OFFICES_3 :Tiendas y oficinas @@ -4762,7 +4787,7 @@ STR_INDUSTRY_NAME_IRON_ORE_MINE :{G=f}Mina de Hi STR_INDUSTRY_NAME_FRUIT_PLANTATION :{G=f}Plantación de Fruta STR_INDUSTRY_NAME_RUBBER_PLANTATION :{G=f}Plantación de Caucho STR_INDUSTRY_NAME_WATER_SUPPLY :{G=m}Suministro de Agua -STR_INDUSTRY_NAME_WATER_TOWER :{G=f}Torre de Agua +STR_INDUSTRY_NAME_WATER_TOWER :{G=f}Depósito de Agua STR_INDUSTRY_NAME_FACTORY_2 :{G=f}Fábrica STR_INDUSTRY_NAME_FARM_2 :{G=f}Granja STR_INDUSTRY_NAME_LUMBER_MILL :{G=m}Aserradero @@ -4860,12 +4885,12 @@ STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_STEEL_TRUCK :Vagón de Acero STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_ARMORED_VAN :Vagón Blindado STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FOOD_VAN :Vagón de Alimentos STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_PAPER_TRUCK :Vagón de Papel -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :Vagoneta de Mineral de Cobre +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COPPER_ORE_HOPPER :Vagón tolva de Mineral de Cobre STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_WATER_TANKER :Cisterna de Agua STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_FRUIT_TRUCK :Vagón de Fruta STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_RUBBER_TRUCK :Vagón de Caucho STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_SUGAR_TRUCK :Vagón de Azúcar -STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COTTON_CANDY_HOPPER :Vagoneta de Algodón de Azúcar +STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COTTON_CANDY_HOPPER :Vagón tolva de Algodón de Azúcar STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_TOFFEE_HOPPER :Vagoneta de Tofe STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_BUBBLE_VAN :Vagón de Burbujas STR_VEHICLE_NAME_TRAIN_WAGON_RAIL_COLA_TANKER :Cisterna de Cola @@ -4890,12 +4915,12 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_STEEL_TRUCK :Vagón de Acero STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_ARMORED_VAN :Vagón Blindado STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FOOD_VAN :Vagón de Alimentos STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PAPER_TRUCK :Vagón de Papel -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :Vagoneta de Mineral de Cobre +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COPPER_ORE_HOPPER :Vagón tolva de Mineral de Cobre STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_WATER_TANKER :Cisterna de Agua STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FRUIT_TRUCK :Vagón de Fruta STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_RUBBER_TRUCK :Vagón de Caucho STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_SUGAR_TRUCK :Vagón de Azúcar -STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COTTON_CANDY_HOPPER :Vagoneta de Algodón de Azúcar +STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COTTON_CANDY_HOPPER :Vagón tolva de Algodón de Azúcar STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOFFEE_HOPPER :Vagoneta de Tofe STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BUBBLE_VAN :Vagón de Burbujas STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_COLA_TANKER :Cisterna de Cola @@ -4904,10 +4929,10 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_TOY_VAN :Vagón de Jugue STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_BATTERY_TRUCK :Vagón de Pilas STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_FIZZY_DRINK_TRUCK :Vagón de Refrescos STR_VEHICLE_NAME_TRAIN_WAGON_MONORAIL_PLASTIC_TRUCK :Vagón de Plásticos -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviathan' (Eléctrico) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cyclops' (Eléctrico) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegasus' (Eléctrico) -STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Chimaera' (Eléctrico) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV1_LEVIATHAN_ELECTRIC :Lev1 'Leviatán' (Eléctrico) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV2_CYCLOPS_ELECTRIC :Lev2 'Cíclope' (Eléctrico) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV3_PEGASUS_ELECTRIC :Lev3 'Pegaso' (Eléctrico) +STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_LEV4_CHIMAERA_ELECTRIC :Lev4 'Quimera' (Eléctrico) STR_VEHICLE_NAME_TRAIN_ENGINE_MAGLEV_WIZZOWOW_ROCKETEER :Wizzowow Rocketeer STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PASSENGER_CAR :Vagón de Pasajeros STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_MAIL_VAN :Furgón de Correos @@ -4922,13 +4947,13 @@ STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_STEEL_TRUCK :Vagón de Acero STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_ARMORED_VAN :Vagón Blindado STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FOOD_VAN :Vagón de Alimentos STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_PAPER_TRUCK :Vagón de Papel -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :Vagoneta de Mineral de Cobre +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COPPER_ORE_HOPPER :Vagón tolva de Mineral de Cobre STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_WATER_TANKER :Cisterna de Agua STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_FRUIT_TRUCK :Vagón de Fruta STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_RUBBER_TRUCK :Vagón de Caucho STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_SUGAR_TRUCK :Vagón de Azúcar -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COTTON_CANDY_HOPPER :Vagoneta de Algodón de Azúcar -STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOFFEE_HOPPER :Vagoneta de Tofe +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COTTON_CANDY_HOPPER :Vagón tolva de Algodón de Azúcar +STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_TOFFEE_HOPPER :Vagón tolva de Tofe STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_BUBBLE_VAN :Vagón de Burbujas STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_COLA_TANKER :Cisterna de Cola STR_VEHICLE_NAME_TRAIN_WAGON_MAGLEV_CANDY_VAN :Vagón de Caramelos @@ -4943,9 +4968,9 @@ STR_VEHICLE_NAME_ROAD_VEHICLE_FOSTER_MKII_SUPERBUS :Superbus Foster STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKI_BUS :Bus Ploddyphut MkI STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKII_BUS :Bus Ploddyphut MkII STR_VEHICLE_NAME_ROAD_VEHICLE_PLODDYPHUT_MKIII_BUS :Bus Ploddyphut MkIII -STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Camión Carbonero Balogh -STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :Camión Carbonero Uhl -STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :Camión carbonero DW +STR_VEHICLE_NAME_ROAD_VEHICLE_BALOGH_COAL_TRUCK :Camión de Carbón Balogh +STR_VEHICLE_NAME_ROAD_VEHICLE_UHL_COAL_TRUCK :Camión de Carbón Uhl +STR_VEHICLE_NAME_ROAD_VEHICLE_DW_COAL_TRUCK :Camión de Carbón DW STR_VEHICLE_NAME_ROAD_VEHICLE_MPS_MAIL_TRUCK :Camión de Correo MPS STR_VEHICLE_NAME_ROAD_VEHICLE_REYNARD_MAIL_TRUCK :Camión de Correo Reynard STR_VEHICLE_NAME_ROAD_VEHICLE_PERRY_MAIL_TRUCK :Camión de Correo Perry @@ -5102,7 +5127,7 @@ STR_FORMAT_DEPOT_NAME_SHIP_SERIAL :{TOWN} Astiller STR_FORMAT_DEPOT_NAME_AIRCRAFT :{STATION} Hangar STR_UNKNOWN_STATION :estación desconocida -STR_DEFAULT_SIGN_NAME :Cartel +STR_DEFAULT_SIGN_NAME :Letrero STR_COMPANY_SOMEONE :alguien STR_SAVEGAME_NAME_DEFAULT :{COMPANY}, {STRING} diff --git a/src/lang/spanish_MX.txt b/src/lang/spanish_MX.txt index 5c3cf20d32..4a0fbedc26 100644 --- a/src/lang/spanish_MX.txt +++ b/src/lang/spanish_MX.txt @@ -1002,6 +1002,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Jugar Op STR_GAME_OPTIONS_RESOLUTION :{BLACK}Resolución de pantalla STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Elegir la resolución de pantalla STR_GAME_OPTIONS_RESOLUTION_OTHER :Otra +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}×{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Aceleración por hardware +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Activar esta casilla para intentar emplear la aceleración por hardware. Este cambio solo tiene efecto tras reiniciar el juego +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Esta configuración solo tendrá efecto después de reiniciar el juego STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Tamaño de la interfaz STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Elegir el tamaño de los elementos de la interfaz @@ -1019,6 +1024,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Doble STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Cuádruple +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Gráficos + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Frecuencia de actualización +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Elegir la frecuencia de actualización de la pantalla +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :otra +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM} Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}Las frecuencias mayores a 60 Hz pueden alterar el rendimiento. + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Gráficos base STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Elegir los gráficos base STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} archivo{P "" s} perdido{P "" s} o con errores @@ -1789,6 +1802,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... mús STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}No hay memoria suficiente STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}La asignación de {BYTES} de caché de sprites ha fallado. La caché de sprites ha sido reducida a {BYTES}, lo que reducirá el desempeño de OpenTTD. Para reducir los requisitos de memoria es posible deshabilitar los gráficos de 32bpp o reducir los grados de acercamiento +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Error en la configuración de video... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... no se encontró una tarjeta gráfica compatible. La aceleración por hardware está deshabilitada + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2319,6 +2336,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Sí, descargar los gráficos STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}No, salir de OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Opciones de transparencia STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Transparencia de carteles. Ctrl+Clic para bloquear @@ -3070,7 +3088,7 @@ STR_NEWGRF_DUPLICATE_GRFID :{WHITE}El archi STR_NEWGRF_COMPATIBLE_LOADED :{ORANGE}Archivo no encontrado (GRF compatible cargado) STR_NEWGRF_TOO_MANY_NEWGRFS :{WHITE}No se puede añadir archivo: se alcanzó el máximo de NewGRF permitidos -STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatibles cargado para archivos que faltan +STR_NEWGRF_COMPATIBLE_LOAD_WARNING :{WHITE}GRF(s) compatible cargado para archivos que faltan STR_NEWGRF_DISABLED_WARNING :{WHITE}El o los archivos GRF no encontrados han sido desactivados STR_NEWGRF_UNPAUSE_WARNING_TITLE :{YELLOW}Archivo(s) GRF no encontrados STR_NEWGRF_UNPAUSE_WARNING :{WHITE}Reanudar la partida puede provocar un error fatal en OpenTTD. No se deben crear reportes para errores fatales posteriores.{}¿Proceder de todos modos? @@ -3178,26 +3196,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Pagar la constr STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Comprar los derechos exclusivos de transporte STR_LOCAL_AUTHORITY_ACTION_BRIBE :Sobornar al ayuntamiento -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar una pequeña campaña publicitaria local para atraer más pasajeros y cargamento a tus servicios de transporte.{}Costo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Iniciar una campaña publicitaria local mediana para atraer más pasajeros y cargamento a tus servicios de transporte.{}Costo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Iniciar una gran campaña publicitaria local para atraer más pasajeros y cargamento a tus servicios de transporte.{}Costo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Pagar la reconstrucción de las carreteras locales. Provoca considerables complicaciones al tráfico durante 6 meses.{}Costo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construir una estatua en honor a tu empresa.{}Costo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Pagar la construcción de nuevos edificios comerciales en el pueblo.{}Costo: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Comprar la exclusividad de los derechos de servicio de transporte en este pueblo durante un año. El ayuntamiento solo permitirá el uso de las estaciones pertenecientes a tu empresa.{}Costo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Iniciar una pequeña campaña publicitaria local para atraer más pasajeros y cargamento a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio pequeño alrededor del centro del pueblo.{}Costo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Iniciar una campaña publicitaria local mediana para atraer más pasajeros y cargamento a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio mediano alrededor del centro del pueblo.{}Costo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Iniciar una gran campaña publicitaria local para atraer más pasajeros y cargamento a tus servicios de transporte.{}Otorga un aumento temporal a la evaluación de estaciones en un radio grande alrededor del centro del pueblo.{}Costo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Pagar la reconstrucción de las carreteras locales.{}Provoca considerables complicaciones al tráfico hasta por 6 meses.{}Costo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Construir una estatua en honor a tu empresa.{}Otorga un aumento permanente a la evaluación estaciones en este pueblo.{}Costo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Pagar la construcción de nuevos edificios comerciales en el pueblo.{}Otorga un aumento temporal a su crecimiento.{}Costo: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Comprar derechos exclusivos de transporte en este pueblo por un año.{}El ayuntamiento solo permitirá el uso de estaciones que sean de tu empresa.{}Costo: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Sobornar al ayuntamiento para aumentar mejorar tu evaluación, con el riesgo de una severa penalización si llegas a ser descubierto.{}Costo: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}Metas de {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Metas globales STR_GOALS_SPECTATOR :Metas globales -STR_GOALS_GLOBAL_TITLE :{BLACK}Metas globales: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Globales +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Mostrar objetivos globales +STR_GOALS_COMPANY_BUTTON :{BLACK}Empresa +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Mostrar objetivos de la empresa STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Ninguna - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- No aplica - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Metas de la empresa STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Clic en una meta para centrar la vista en la industria, pueblo o casilla. Ctrl+Clic abre una vista aparte # Goal question window @@ -3568,6 +3587,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Vagones STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Reforma: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Todo tipo de carga STR_PURCHASE_INFO_NONE :Ninguno +STR_PURCHASE_INFO_ENGINES_ONLY :Solo locomotoras STR_PURCHASE_INFO_ALL_BUT :Todo excepto {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Máx. fuerza de tracción: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Alcance: {GOLD}{COMMA} casillas diff --git a/src/lang/swedish.txt b/src/lang/swedish.txt index 93d5fae2d0..03dcf3e970 100644 --- a/src/lang/swedish.txt +++ b/src/lang/swedish.txt @@ -1001,6 +1001,11 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Kryssa i STR_GAME_OPTIONS_RESOLUTION :{BLACK}Skärmupplösning STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Välj vilken skärmupplösning som ska användas STR_GAME_OPTIONS_RESOLUTION_OTHER :annan +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + +STR_GAME_OPTIONS_VIDEO_ACCELERATION :{BLACK}Hårdvaruacceleration +STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP :{BLACK}Markera denna rutan för att tillåta OpenTTD att försöka använda hårdvaruacceleration. Ändrad inställning kommer bara att gälla efter omstart. +STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART :{WHITE}Inställningen kommer bara att gälla efter omstart av spelet STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Gränssnittstorlek STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Välj vilken gränssnittsstorlek som ska användas @@ -1018,6 +1023,14 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Dubbel storlek STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Kvadrupel storlek +STR_GAME_OPTIONS_GRAPHICS :{BLACK}Grafik + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Visa uppdateringsfrekvens +STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP :{BLACK}Välj skärmens uppdateringsfrekvens +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :annat +STR_GAME_OPTIONS_REFRESH_RATE_ITEM :{NUM}Hz +STR_GAME_OPTIONS_REFRESH_RATE_WARNING :{WHITE}uppdateringsfrekvenser högre än 60Hz kan påverka prestandan. + 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} saknad{P "" e}/trasig{P "" a} fil{P "" er} @@ -1788,6 +1801,10 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... igno STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Slut på minne STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Allokerandet av {BYTES} till spritecachen misslyckades. Spritecachen begränsades till {BYTES}. Detta kommer att begränsa OpenTTD:s prestanda. För att minska minneskraven kan du försöka att inaktivera 32bpp-grafik och/eller antalet inzoomningsnivåer +# Video initalization errors +STR_VIDEO_DRIVER_ERROR :{WHITE}Fel med video inställningarna... +STR_VIDEO_DRIVER_ERROR_NO_HARDWARE_ACCELERATION :{WHITE}... Inget kompatibelt grafikkort hittat. Hårdvaruacceleration inaktiverad + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2318,6 +2335,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ja, ladda ner grafiken STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Nej, avsluta OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Genomskinlighetsinställningar STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Växla genomskinlighet för skyltar. Ctrl+klick för att låsa @@ -3177,26 +3195,27 @@ STR_LOCAL_AUTHORITY_ACTION_NEW_BUILDINGS :Bekosta nya byg STR_LOCAL_AUTHORITY_ACTION_EXCLUSIVE_TRANSPORT :Köp exklusiva transporträttigheter STR_LOCAL_AUTHORITY_ACTION_BRIBE :Muta de lokala myndigheterna -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Starta en liten lokal reklamkampanj, för att attrahera fler passagerare och gods till dina tranporttjänster.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_SMALL_ADVERTISING :{YELLOW}Starta en liten lokal reklamkampanj, för att attrahera fler passagerare och gods till dina tranporttjänster.{}Tillhandahåller en temporär boost till stationens betyg i en liten radie runt stadens centrum.{}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_MEDIUM_ADVERTISING :{YELLOW}Starta en mellanstor lokal reklamkampanj, för att attrahera fler passagerare och gods till dina tranporttjänster.{}Kostnad: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_LARGE_ADVERTISING :{YELLOW}Starta en stor lokal reklamkampanj, för att attrahera fler passagerare och gods till dina tranporttjänster.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Bekosta ombyggnad av stadens vägnätverk. Orsakar ansenliga störningar för vägtrafik i upp till 6 månader.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Bygg en staty i ditt företags ära.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Bekosta uppbyggnad av nya kommersiella byggnader i staden.{}Kostnad: {CURRENCY_LONG} -STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW} Köp 1 års exklusiv transporträttighet i staden. Stadens myndigheter kommer bara tillåta passagerare och gods till användning för ditt företags stationer.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_ROAD_RECONSTRUCTION :{YELLOW}Bekosta ombyggnad av stadens vägnätverk.{}Orsakar ansenliga störningar för vägtrafik i upp till 6 månader.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}Bygg en staty i ditt företags ära.{}Tillhandahåller en permanent boost till stations betyg i staden.{}Cost: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_NEW_BUILDINGS :{YELLOW}Bekosta uppbyggnad av nya byggnader i staden.{}Tillhandahåller en temporär boost till stadens tillväxt.{}Kostnad: {CURRENCY_LONG} +STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_EXCLUSIVE_TRANSPORT :{YELLOW}Köp 1 års exklusiva transport rättigheter i staden.{}Lokala myndigheterna kommer inte tillåta passagerare och gods att använda dina motståndares stationer.{}Cost: {CURRENCY_LONG} STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW} Muta de lokala myndigheterna för att öka din värdering, med risk för att få höga böter om du blir upptäckt.{} Kostnad: {CURRENCY_LONG} # Goal window STR_GOALS_CAPTION :{WHITE}{COMPANY} Mål STR_GOALS_SPECTATOR_CAPTION :{WHITE}Globala mål STR_GOALS_SPECTATOR :Globala mål -STR_GOALS_GLOBAL_TITLE :{BLACK}Globala mål: +STR_GOALS_GLOBAL_BUTTON :{BLACK}Global +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Visa globala mål +STR_GOALS_COMPANY_BUTTON :{BLACK}Företag +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Visa företagets mål STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Inga - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Inte tillämpligt - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Företagsmål: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Klicka på målet för att centrera huvudvyn på industrin/byn/rutan. Ctrl+klick gör så att ett nytt vyfönster öppnas över platsen för industrin/byn/rutan # Goal question window @@ -3567,6 +3586,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Motorise STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Anpassningsbar till: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Alla typer av last STR_PURCHASE_INFO_NONE :Ingen +STR_PURCHASE_INFO_ENGINES_ONLY :Endast lok STR_PURCHASE_INFO_ALL_BUT :Allt utom {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Maximal Dragkraft: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Räckvidd: {GOLD}{COMMA} rutor diff --git a/src/lang/tamil.txt b/src/lang/tamil.txt index 1bba3cebc9..28716a873a 100644 --- a/src/lang/tamil.txt +++ b/src/lang/tamil.txt @@ -962,6 +962,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}தி STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}திரை அளவினைத் தேர்ந்தெடுக்கவும் STR_GAME_OPTIONS_RESOLUTION_OTHER :மற்றவை + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}இடைமுக அளவு STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :சராசரி @@ -974,6 +975,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :இயல்ப STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :இரண்டு மடங்கு STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :நான்கு மடங்கு + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}அடிப்படை அசைவூட்டம் STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}பயன்படுத்தப்போகும் அடிப்படை அசைவூட்டத்தினை தேர்ந்தெடுக்கவும் STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} இல்லாத/பிழையான கோப்பு{P "" கள்} @@ -1570,6 +1573,8 @@ STR_CONFIG_ERROR_INVALID_BASE_SOUNDS_NOT_FOUND :{WHITE}... அ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... அடிப்படை இசைத் தொகுப்பு '{STRING}' தவிர்கப்பட்டது: கிடைக்கவில்லை STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}நினைவாற்றல் நிறைந்துவிட்டது +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2066,6 +2071,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}ஆம், அசையூட்டங்களை பதிவிறக்கம் செய் STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}இல்லை, OpenTTD-ஐ விட்டு வெளியேறு + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}ஒளி அமைப்புகள் STR_TRANSPARENT_HOUSES_TOOLTIP :{BLACK}வீடுகளுக்கான வெளிப்படைத்தன்மையை நிலைமாற்று. Ctrl + கிளிக் பூட்ட செய்க @@ -2813,13 +2819,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_STATUE_OF_COMPANY :{YELLOW}தங STR_GOALS_CAPTION :{WHITE}{COMPANY} குறிக்கோள்கள் STR_GOALS_SPECTATOR_CAPTION :{WHITE}உலகளாவிய குறிக்கோள்கள் STR_GOALS_SPECTATOR :உலகளாவிய குறிக்கோள்கள் -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_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}நிறுவனத்தின் குறிக்கோள்கள்: # Goal question window STR_GOAL_QUESTION_CAPTION_QUESTION :{BLACK}கேள்வி diff --git a/src/lang/thai.txt b/src/lang/thai.txt index 5059623df0..8ace00fb3b 100644 --- a/src/lang/thai.txt +++ b/src/lang/thai.txt @@ -960,11 +960,14 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}คว STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}เลือกความละเอียดของหน้าจอที่จะใช้ STR_GAME_OPTIONS_RESOLUTION_OTHER :อื่นๆ + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}ขนาดของแผงควบคุม + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}ตั้งค่า Graphic พื้นฐาน STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}เลือกและตั้งค่าฐานกราฟิกที่จะใช้ STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ไฟล์สูญหายหรือไม่สมบูรณ์ @@ -1656,6 +1659,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ไ STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}หน่วยความจำไม่เพียงพอ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}การกำหนดพื้นที่ {BYTES} ของ Spritecache ล้มเหลว Spritecache ได้ลดลง {BYTES}. นี่คือการทำให้ประสิทธิภาพของเกม OpenTTD ลดลง. เพื่อลดความต้องการของหน่วยความจำ ให้ทำการปิดการใช้งานระบบ 32bpp graphics +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2170,6 +2175,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}ดาวน์โหลดกราฟฟิก STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}ออกจาก OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}ตัวเลือกค่าโปร่งใส STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}เปิด/ปิด การโปร่งใสของป้าย. กด Ctrl+Click สำหรับการล็อก @@ -2930,13 +2936,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}จ่ # 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_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}เป้าหมายบริษัท: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}คลิ๊กเลือกที่เป้าหมายเพื่อพาไปยังจุดเริ่มต้นที่จะทำตามเป้าหมาย # Goal question window diff --git a/src/lang/traditional_chinese.txt b/src/lang/traditional_chinese.txt index 7f77f63c5a..8c05c642b0 100644 --- a/src/lang/traditional_chinese.txt +++ b/src/lang/traditional_chinese.txt @@ -972,6 +972,7 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}螢幕 STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}選擇螢幕解析度 STR_GAME_OPTIONS_RESOLUTION_OTHER :其它 + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}介面大小 STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}選擇使用的介面元素大小 @@ -981,6 +982,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :四倍大小 + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}基本圖形集 STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}選擇要使用的基本圖形集 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} 檔案遺失/損毀 @@ -1708,6 +1711,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... 正 STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}記憶體不足 STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}無法編配{BYTES}作為子畫面快取。子畫面快取的大小已降至{BYTES}。OpenTTD的效能會受到影響。請嘗試停用32bpp圖形及/或減少放大倍數,以減低記憶體要求 +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2225,6 +2230,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}是,下載圖形 STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}否,離開 OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}透明度選項 STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}切換車站標籤是否透明。按住 Ctrl 鍵點選此掣以鎖定狀態 @@ -3006,13 +3012,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}冒著 # 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_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}公司目標: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}點選目標以將有關工業 / 市鎮或方格置於畫面中央。按下 Ctrl 鍵並點選目標以開啟一個以有關工業 / 市鎮或方格為中心的新視野 # Goal question window diff --git a/src/lang/turkish.txt b/src/lang/turkish.txt index 3cd9af0fb1..57b1ff5399 100644 --- a/src/lang/turkish.txt +++ b/src/lang/turkish.txt @@ -991,6 +991,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_GUI_ZOOM_FRAME :{BLACK}Arayüz boyutu STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Kullanmak üzere arayüz bileşen boyutunu seçin @@ -1005,6 +1006,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Normal STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Yazı iki kat büyük STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Dört kat büyük + + 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} kayıp/bozuk dosya @@ -1759,6 +1762,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... Teme STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Bellek yetersiz STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}{BYTES} sprite-önbelleği ayırma işlemi başarısız. Sprite-önbelleği {BYTES}'a düşürüldü. Bu OpenTTD'nin performansını azaltacak. Bellek gereksinimini azaltmak için 32bpp grafikleri ve/veya yakınlaştırma seviyelerini kapatmayı deneyebilirsiniz +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2280,6 +2285,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Evet, grafikleri indir STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Hayır, OpenTTD'den çık + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Şeffaflık Seçenekleri STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Durak tabelaları için şeffaflığı aç. Kilitlemek için Ctrl ile tıklayın @@ -3135,13 +3141,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Yakalan STR_GOALS_CAPTION :{WHITE}{COMPANY} Hedefler STR_GOALS_SPECTATOR_CAPTION :{WHITE}Evrensel Amaçlar STR_GOALS_SPECTATOR :Evrensel Amaçlar -STR_GOALS_GLOBAL_TITLE :{BLACK}Evrensel amaçlar: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Hiçbiri - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Kullanılamaz - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Şirket hedefleri: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Ana görünümü istenen fabrika/kasaba/kareye getirmek için hedefe tıklayın. Ctrl+Tıklama fabrika/kasaba/kare konumunda yeni bir pencerede görünüm açar # Goal question window diff --git a/src/lang/ukrainian.txt b/src/lang/ukrainian.txt index bb11b7d7b0..312c3de1c0 100644 --- a/src/lang/ukrainian.txt +++ b/src/lang/ukrainian.txt @@ -438,10 +438,14 @@ STR_SORT_BY_CARGO_CAPACITY :за містк STR_SORT_BY_RANGE :за дальністю STR_SORT_BY_POPULATION :за населенням STR_SORT_BY_RATING :за рейтингом +STR_SORT_BY_NUM_VEHICLES :Кількість авто STR_SORT_BY_TOTAL_PROFIT_LAST_YEAR :Загальний прибуток минулого року +STR_SORT_BY_TOTAL_PROFIT_THIS_YEAR :Загальний прибуток цього року STR_SORT_BY_AVERAGE_PROFIT_LAST_YEAR :Середній прибуток мигулого року # Group by options for vehicle list +STR_GROUP_BY_NONE :Нема +STR_GROUP_BY_SHARED_ORDERS :Спільні накази # Tooltips for the main toolbar STR_TOOLBAR_TOOLTIP_PAUSE_GAME :{BLACK}Пауза @@ -870,6 +874,7 @@ STR_SMALLMAP_LEGENDA_DOCK :{TINY_FONT}{BLA STR_SMALLMAP_LEGENDA_ROUGH_LAND :{TINY_FONT}{BLACK}Нерівна земля STR_SMALLMAP_LEGENDA_GRASS_LAND :{TINY_FONT}{BLACK}Трава STR_SMALLMAP_LEGENDA_BARE_LAND :{TINY_FONT}{BLACK}Пустир +STR_SMALLMAP_LEGENDA_RAINFOREST :{TINY_FONT}{BLACK}Джунглі STR_SMALLMAP_LEGENDA_FIELDS :{TINY_FONT}{BLACK}Поля STR_SMALLMAP_LEGENDA_TREES :{TINY_FONT}{BLACK}Дерева STR_SMALLMAP_LEGENDA_ROCKS :{TINY_FONT}{BLACK}Каміння @@ -1119,10 +1124,13 @@ STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP :{BLACK}Нати STR_GAME_OPTIONS_RESOLUTION :{BLACK}Роздільна здатність STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Виберіть роздільну здатність екрану STR_GAME_OPTIONS_RESOLUTION_OTHER :інша +STR_GAME_OPTIONS_RESOLUTION_ITEM :{NUM}x{NUM} + STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Розмір інтерфейсу STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Оберіть розмір елементів інтерфейсу +STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_AUTO :(автоматичо) STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Нормальний розмір STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Подвійний розмір STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Почетверний розмір @@ -1130,10 +1138,15 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Почетве STR_GAME_OPTIONS_FONT_ZOOM :{BLACK}Розмір шрифту STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Виберть розмір шрифту інтерфейсу +STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_AUTO :(автоматичо) STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Нормальний STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Подвійний розмір STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Почетверний розмір + +STR_GAME_OPTIONS_REFRESH_RATE :{BLACK}Показати швидкість оновлення +STR_GAME_OPTIONS_REFRESH_RATE_OTHER :інша + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Базовий набір графіки STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Оберіть, яку основну графіку використовувати STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} відсутн{P ій іх іх}/пошкоджен{P ий их их} файл{P "" а ів} @@ -1569,6 +1582,9 @@ STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS :Залишат STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT :Залишати інструменти будівництва активними після використання. STR_CONFIG_SETTING_EXPENSES_LAYOUT :Групувати витрати у вікні фінансів: {STRING} STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT :Налаштування відображення інформації про вітрати у вікні фінансів +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS :Автоматично прибирати сигнали при будівництві колії.: {STRING} +STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT :Автоматично прибирати сигнали на шляху при будівництві колії. Увага: це може спричинити зіткнення потягів! +STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL :{NUM}% нормальної швидкості гри STR_CONFIG_SETTING_SOUND_TICKER :Новинний рухомий рядок: {STRING} STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT :Відтворення звуку для узагальнених новинних повідомлень @@ -1682,6 +1698,9 @@ STR_CONFIG_SETTING_ENDING_YEAR :Рік закі STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT :Рік закінчення гри для підрахунку очок. У кінці року додають очки компанії і показують загальний результат, але гравці можуть грати далі.{}Якщо встановлено рік раніший початкового, загальний результат не зʼявиться. STR_CONFIG_SETTING_ENDING_YEAR_VALUE :{NUM} STR_CONFIG_SETTING_ENDING_YEAR_ZERO :Ніколи +STR_CONFIG_SETTING_ECONOMY_TYPE :Тип економіки: {STRING} +STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL :Оригінальна +STR_CONFIG_SETTING_ECONOMY_TYPE_SMOOTH :Плавно STR_CONFIG_SETTING_ALLOW_SHARES :Дозволити придбання акції інших компаній: {STRING} STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT :При включенні дозволяє придбання та продаж акцій команій. Акції компанії стають доступними після досягнення деякого віку. STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES :Мінімальний вік компанії для торгівлі акціями: {STRING} @@ -1733,6 +1752,8 @@ STR_CONFIG_SETTING_TOWN_CARGOGENMODE_BITCOUNT :лінійна STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT :Поява дерев під час гри: {STRING} STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT :Налаштування випадкової появи дерев на карті в процесі гри. Ця настройка також впливає на відповідні підприємства, такі як лісопилки. +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_RAINFOREST :Зростання, але поширення тільки вологих лісів +STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_SPREAD_ALL :Зростатати і поширюватися усюди STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_GROWTH_NO_SPREAD :Не зростати, не поширюватися {RED}(лісопилка не працює) STR_CONFIG_SETTING_TOOLBAR_POS :Позиція головного меню: {STRING} @@ -1889,6 +1910,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... ба STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Не вистачає пам'яті STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Не вдалося розподілити {BYTES} спрайт-кешу. Спрайт кеш було зменшено до {BYTES}. Це зменшить швидкість роботи OpenTTD. Аби зменшити використання пам'яті спробуйте заборонити 32-бітну графіку і/або ступені масшатабування екрану +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2321,6 +2344,7 @@ STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_1 :Гра ще п STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_2 :Гра ще призупинена ({STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_3 :Гра ще призупинена ({STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_4 :Гра ще на паузі ({STRING}, {STRING}, {STRING}, {STRING}) +STR_NETWORK_SERVER_MESSAGE_GAME_STILL_PAUSED_5 :Гра ще призупинена ({STRING}, {STRING}, {STRING}, {STRING}, {STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_UNPAUSED :Гра знята з паузи ({STRING}) STR_NETWORK_SERVER_MESSAGE_GAME_REASON_NOT_ENOUGH_PLAYERS :кількість гравців STR_NETWORK_SERVER_MESSAGE_GAME_REASON_CONNECTING_CLIENTS :приєднання клієнтів @@ -2412,6 +2436,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Так, завантажити графіку STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Ні, вийти з OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Опції прозорості STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Переключити прозорість для знаків станцій. Утримуйте Ctrl, щоб заблокувати @@ -2653,6 +2678,7 @@ STR_TREES_RANDOM_TYPE_TOOLTIP :{BLACK}Сади STR_TREES_RANDOM_TREES_BUTTON :{BLACK}Випадкові дерева STR_TREES_RANDOM_TREES_TOOLTIP :{BLACK}Випадкове насадження дерев по всьому ландшафту STR_TREES_MODE_NORMAL_TOOLTIP :{BLACK}Саджати окремі дерева протягуванням по ландшафту +STR_TREES_MODE_FOREST_LG_BUTTON :{BLACK}Ліс STR_TREES_MODE_FOREST_LG_TOOLTIP :{BLACK}Саджати великі ліси протягуванням по ландшафту # Land generation window (SE) @@ -2711,6 +2737,7 @@ STR_FUND_INDUSTRY_PROSPECT_NEW_INDUSTRY :{BLACK}Огля STR_FUND_INDUSTRY_BUILD_NEW_INDUSTRY :{BLACK}Будувати STR_FUND_INDUSTRY_FUND_NEW_INDUSTRY :{BLACK}Фінансувати STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES :{BLACK}Прибрати усі підприємства +STR_FUND_INDUSTRY_REMOVE_ALL_INDUSTRIES_TOOLTIP :{BLACK}Прибрати усі підприємства, наявні на мапі # Industry cargoes window STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION :{WHITE}Ланцюг вантажних перевезень для {STRING} @@ -2731,6 +2758,7 @@ STR_INDUSTRY_CARGOES_SELECT_INDUSTRY_TOOLTIP :{BLACK}Обер # Land area window STR_LAND_AREA_INFORMATION_CAPTION :{WHITE}Інформація про ділянку +STR_LAND_AREA_INFORMATION_LOCATION_TOOLTIP :{BLACK}Показати місце у центрі екрану. Ctrl+клац мишою відкриє нове вікно з видом на місце STR_LAND_AREA_INFORMATION_COST_TO_CLEAR_N_A :{BLACK}Вартість очистки: {LTBLUE}неможливо STR_LAND_AREA_INFORMATION_COST_TO_CLEAR :{BLACK}Вартість очистки: {RED}{CURRENCY_LONG} STR_LAND_AREA_INFORMATION_REVENUE_WHEN_CLEARED :{BLACK}Дохід при очистці: {LTBLUE}{CURRENCY_LONG} @@ -2940,6 +2968,7 @@ STR_SAVELOAD_DETAIL_GRFSTATUS :{SILVER}NewGRF: STR_SAVELOAD_FILTER_TITLE :{BLACK}Фільтр: STR_SAVELOAD_OVERWRITE_TITLE :{WHITE}Перезаписати файл STR_SAVELOAD_OVERWRITE_WARNING :{YELLOW} Ви справді хочете перезаписати існуючий файл? +STR_SAVELOAD_DIRECTORY :{STRING} (Directory) STR_SAVELOAD_OSKTITLE :{BLACK}Введіть назву файла збереженої гри @@ -3273,13 +3302,13 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Під STR_GOALS_CAPTION :{WHITE}Цілі {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Глобальні цілі: STR_GOALS_SPECTATOR :Загальні задачі -STR_GOALS_GLOBAL_TITLE :{BLACK}Глобальні цілі: +STR_GOALS_GLOBAL_BUTTON_HELPTEXT :{BLACK}Показати глобальні цілі +STR_GOALS_COMPANY_BUTTON :{BLACK}Компанія +STR_GOALS_COMPANY_BUTTON_HELPTEXT :{BLACK}Показати цілі компанії STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- нема - -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+клац мишою відкриє міні-вікно # Goal question window @@ -3495,7 +3524,7 @@ STR_COMPANY_VIEW_SELL_SHARE_TOOLTIP :{BLACK}Прод STR_COMPANY_VIEW_COMPANY_NAME_QUERY_CAPTION :Назва компанії STR_COMPANY_VIEW_PRESIDENT_S_NAME_QUERY_CAPTION :Ім'я керівника -STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Введіть суму грошей, яку Ви хочете віддати +STR_COMPANY_VIEW_GIVE_MONEY_QUERY_CAPTION :Введіть суму грошей, яку бажаєте передати STR_BUY_COMPANY_MESSAGE :{WHITE}Ми шукаємо нового власника нашої компанії.{}{}Чи бажаєте Ви купити {COMPANY} за {CURRENCY_LONG}? @@ -3650,6 +3679,7 @@ STR_PURCHASE_INFO_PWAGPOWER_PWAGWEIGHT :{BLACK}Поту STR_PURCHASE_INFO_REFITTABLE_TO :{BLACK}Може бути переобладненим на: {GOLD}{STRING} STR_PURCHASE_INFO_ALL_TYPES :Всі типи вантажів STR_PURCHASE_INFO_NONE :Нема +STR_PURCHASE_INFO_ENGINES_ONLY :Тільки локомотиви STR_PURCHASE_INFO_ALL_BUT :Всі, крім {CARGO_LIST} STR_PURCHASE_INFO_MAX_TE :{BLACK}Максимальна тягова сила: {GOLD}{FORCE} STR_PURCHASE_INFO_AIRCRAFT_RANGE :{BLACK}Дальність: {GOLD}{COMMA} клітинок @@ -3856,6 +3886,7 @@ STR_REPLACE_REMOVE_WAGON_HELP :{BLACK}Дозв # Vehicle view STR_VEHICLE_VIEW_CAPTION :{WHITE}{VEHICLE} +STR_VEHICLE_VIEW_ROAD_VEHICLE_CENTER_TOOLTIP :{BLACK}Показати транспорт у центрі екрану. Подвійний клац для руху за транспортом. Ctrl+клац мишою вікдриє нове вікно з транспортом STR_VEHICLE_VIEW_TRAIN_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити поїзд у депо STR_VEHICLE_VIEW_ROAD_VEHICLE_SEND_TO_DEPOT_TOOLTIP :{BLACK}Направити авто в депо @@ -4116,6 +4147,7 @@ STR_ORDER_REFIT_STOP_ORDER :(Переобл STR_ORDER_STOP_ORDER :(зупинити) STR_ORDER_GO_TO_STATION :{STRING} {STATION} {STRING} +STR_ORDER_GO_TO_STATION_CAN_T_USE_STATION :{PUSH_COLOUR}{RED}(Неможливо використати станцію){POP_COLOUR} {STRING} {STATION} {STRING} STR_ORDER_IMPLICIT :(Автоматично) @@ -4440,6 +4472,7 @@ STR_ERROR_LOAN_ALREADY_REPAYED :{WHITE}... по STR_ERROR_CURRENCY_REQUIRED :{WHITE}... потрібно {CURRENCY_LONG} STR_ERROR_CAN_T_REPAY_LOAN :{WHITE}Неможливо повернути позику... STR_ERROR_INSUFFICIENT_FUNDS :{WHITE}Неможливо передати гроші, позичені у банку... +STR_ERROR_CAN_T_GIVE_MONEY :{WHITE}Неможливо передати гроші цій компанії... STR_ERROR_CAN_T_BUY_COMPANY :{WHITE}Неможливо купити компанію... STR_ERROR_CAN_T_BUILD_COMPANY_HEADQUARTERS :{WHITE}Неможливо збудувати Офіс... STR_ERROR_CAN_T_BUY_25_SHARE_IN_THIS :{WHITE}Неможливо купити 25% акцій цієї компанії... @@ -4566,6 +4599,7 @@ STR_ERROR_DEPOT_WRONG_DEPOT_TYPE :Неправи STR_ERROR_TRAIN_TOO_LONG_AFTER_REPLACEMENT :{WHITE}{VEHICLE} дуже довгий після оновлення STR_ERROR_AUTOREPLACE_NOTHING_TO_DO :{WHITE}Правила автозаміни/оновлення не застосовувалися STR_ERROR_AUTOREPLACE_MONEY_LIMIT :(бракує коштів) +STR_ERROR_AUTOREPLACE_INCOMPATIBLE_REFIT :{WHITE}Нове авто не може змінити наказ {NUM} # Rail construction errors STR_ERROR_IMPOSSIBLE_TRACK_COMBINATION :{WHITE}Неможливе з'єднання колії diff --git a/src/lang/unfinished/chuvash.txt b/src/lang/unfinished/chuvash.txt index 7c37ca81a1..a972efb5a0 100644 --- a/src/lang/unfinished/chuvash.txt +++ b/src/lang/unfinished/chuvash.txt @@ -518,6 +518,9 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :расна + + + # Custom currency window @@ -637,6 +640,8 @@ STR_CONFIG_SETTING_PATHFINDER_NPF :NPF # Config errors +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -815,6 +820,7 @@ STR_CONTENT_DETAIL_VERSION :{SILVER}Вер # Content downloading error messages + # Transparency settings window # Linkgraph legend window diff --git a/src/lang/unfinished/frisian.txt b/src/lang/unfinished/frisian.txt index 2485b87654..e470238222 100644 --- a/src/lang/unfinished/frisian.txt +++ b/src/lang/unfinished/frisian.txt @@ -969,6 +969,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Interfacegrutte STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normaal @@ -977,6 +978,8 @@ STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_4X_ZOOM :Fjouwerdûbele + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}Basisset for ôfbyldings STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Selektearje de basis ôfbyldingsset om te brûken STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ûntbrekke{P "" nde}/korrupt{P "" e} bestân @@ -1641,6 +1644,8 @@ STR_CONFIG_ERROR_INVALID_GRF_NOT_FOUND :koe net fûn wu STR_CONFIG_ERROR_INVALID_GRF_INCOMPATIBLE :Dat strykt net mei dizze ferzje fan OpenTTD STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :ûnbekind +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2067,6 +2072,7 @@ STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}Missende 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 STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Skeakelje trochsichtigens fan seinen. Brûk Ctrl+Klik om fêste te setten @@ -2779,7 +2785,6 @@ STR_GOALS_CAPTION :{WHITE}{COMPANY 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} diff --git a/src/lang/unfinished/ido.txt b/src/lang/unfinished/ido.txt index df4434aead..7f90262217 100644 --- a/src/lang/unfinished/ido.txt +++ b/src/lang/unfinished/ido.txt @@ -482,6 +482,9 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :altra + + + # Custom currency window @@ -569,6 +572,8 @@ STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_VIOLET :Violkolora # Config errors +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -664,6 +669,7 @@ STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} # Content downloading error messages + # Transparency settings window # Linkgraph legend window diff --git a/src/lang/unfinished/macedonian.txt b/src/lang/unfinished/macedonian.txt index 7e9ea7575a..8586ab6fba 100644 --- a/src/lang/unfinished/macedonian.txt +++ b/src/lang/unfinished/macedonian.txt @@ -802,6 +802,9 @@ STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_EVERY_1_MONTH :Секој ме + + + # Custom currency window @@ -921,6 +924,8 @@ STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... ни STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... спаси играта формат '{STRING}' не е достапен. се врати на '{STRING}' STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Нема доволно меморија +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1030,6 +1035,7 @@ STR_CONTENT_TYPE_GS_LIBRARY :ГШ библи # Content downloading error messages + # Transparency settings window # Linkgraph legend window @@ -1314,10 +1320,8 @@ STR_LOCAL_AUTHORITY_COMPANY_RATING :{YELLOW}{COMPAN # Goal window -STR_GOALS_GLOBAL_TITLE :{BLACK}Глобал цели: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Никој - -STR_GOALS_COMPANY_TITLE :{BLACK}Фирма цели: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Кликнете на цел центар главниот приказ на индустријата / град / плочка. Ctrl + Кликнете отвора нов прозорец на индустријата / град / плочка Локација # Goal question window diff --git a/src/lang/unfinished/maltese.txt b/src/lang/unfinished/maltese.txt index afc18f1e73..994993ebc7 100644 --- a/src/lang/unfinished/maltese.txt +++ b/src/lang/unfinished/maltese.txt @@ -415,6 +415,9 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :oħrajn + + + # Custom currency window @@ -500,6 +503,8 @@ STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT :Ippermetti l-uz # Config errors +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -593,6 +598,7 @@ STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} # Content downloading error messages + # Transparency settings window # Linkgraph legend window diff --git a/src/lang/unfinished/marathi.txt b/src/lang/unfinished/marathi.txt index e38fa7feb3..b97993d7e8 100644 --- a/src/lang/unfinished/marathi.txt +++ b/src/lang/unfinished/marathi.txt @@ -755,6 +755,9 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :अन्य + + + # Custom currency window @@ -830,6 +833,8 @@ STR_CONFIG_SETTING_STATUSBAR_POS :स्टेट # Config errors +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}ओपेन टीटीडी {REV} @@ -989,6 +994,7 @@ STR_NETWORK_SERVER_MESSAGE :*** {1:STRING} # Content downloading error messages + # Transparency settings window # Linkgraph legend window diff --git a/src/lang/unfinished/persian.txt b/src/lang/unfinished/persian.txt index 9c906edf10..57da97bfd3 100644 --- a/src/lang/unfinished/persian.txt +++ b/src/lang/unfinished/persian.txt @@ -962,10 +962,13 @@ STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}وضوح STR_GAME_OPTIONS_RESOLUTION_OTHER :دیگر + STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :دو برابر + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}بسته گرافیک پایه STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}بسته گرافیک پایه را انتخاب کنید STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} فایل وجود ندارد یا خراب است @@ -1430,6 +1433,8 @@ STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :ناشناخت STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}... سطح فشردگی'{STRING}' معتبر نیست STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE}... قالب ذخیره بازی '{STRING}' در دسترس نیست.برگردان به '{STRING}' +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1935,6 +1940,7 @@ STR_MISSING_GRAPHICS_SET_CAPTION :{WHITE}گراف STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}بله, فایلهای گرافیک را بارگیری کن STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}خیر, خروج OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}گزینه های شفافیت STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}فعال/غیر فعال کردن شفافیت برای نشانه های ایستگاه. کنترل+کلیک برای قفل کردن @@ -2691,13 +2697,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}رشو # 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_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}اهداف شرکت: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}روی هدف کلیک کنید تا نمای اصلی را به مرکز صنایع/شهر/قطعه ببرد. Ctrl+Click یک نمای جدید از محل صنایع/شهر قطعه باز می کند # Goal question window diff --git a/src/lang/unfinished/urdu.txt b/src/lang/unfinished/urdu.txt index 295fa168c2..d97fb6dbd5 100644 --- a/src/lang/unfinished/urdu.txt +++ b/src/lang/unfinished/urdu.txt @@ -940,6 +940,9 @@ STR_GAME_OPTIONS_RESOLUTION_OTHER :دیگر + + + STR_GAME_OPTIONS_BASE_GRF :{BLACK}بُنیادی گرافک سیٹ STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}بُنیادی گرافک سیٹ اختیار کریں STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} missing/corrupted file{P "" s} @@ -1324,6 +1327,8 @@ STR_CONFIG_ERROR_INVALID_GRF_UNKNOWN :نا معلوم STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_LEVEL :{WHITE}- - - کمپریشن کی سطح '{STRING}' درست نہیں ہے STR_CONFIG_ERROR_INVALID_SAVEGAME_COMPRESSION_ALGORITHM :{WHITE} ۔ ۔ ۔ کھیل بچانے کا یہ فارمیٹ '{STRING}' دستیاب نہیں ہے۔ واپس '{STRING}' پر جا رہے ہیں +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -1824,6 +1829,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}ہاں، گرافکس ڈاون لوڈ کریں STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}نہیں، OpenTTD سے باہر نکلو + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Transparency کے اختیارات STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}اشاروں کی شفافیت کی تدویم کریں۔ محدوظ کرنے کے لئے Ctrl+Click دبائیں diff --git a/src/lang/vietnamese.txt b/src/lang/vietnamese.txt index 2e3273c356..3314bf64d3 100644 --- a/src/lang/vietnamese.txt +++ b/src/lang/vietnamese.txt @@ -990,6 +990,7 @@ 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_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 @@ -1004,6 +1005,8 @@ STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_NORMAL :Bình thường STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_2X_ZOOM :Phóng to gấp đôi STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_4X_ZOOM :Phóng nhân bố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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} thiếu/hỏng file @@ -1760,6 +1763,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... từ STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Hết bộ nhớ STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Phân bổ {BYTES} cho spritecache thất bại. Spritecache đã được giảm còn {BYTES}. Điều này có thể làm giảm hiệu năng của OpenTTD. Để giảm yêu cầu bộ nhớ, bạn có thể thử tắt gói đồ họa 32bpp và/hoặc mức độ phóng to +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2281,6 +2286,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}OpenTTD STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Có, cho phép tải chúng STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Không, thoát OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Tuỳ Hiệu Ứng Trong Suốt STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Bật hiệu ứng trong suốt cho đèn tín hiệu. Ctrl+Click để khoá. @@ -3136,13 +3142,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW}Đút l STR_GOALS_CAPTION :{WHITE}Mục Tiêu Của {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Mục Tiêu Chung STR_GOALS_SPECTATOR :Các mục tiêu chung -STR_GOALS_GLOBAL_TITLE :{BLACK}Các mục tiêu chung: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Không - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Không khả dụng - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Các mục tiêu của công ty: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Click vào mục tiêu để canh giữa cửa sổ lớn chính vào ô/đô thị/nhà máy tương ứng. Ctrl+Click để mở bằng các cửa sổ bổ sung tương ứng # Goal question window diff --git a/src/lang/welsh.txt b/src/lang/welsh.txt index e0c8e049e6..96ac8fd752 100644 --- a/src/lang/welsh.txt +++ b/src/lang/welsh.txt @@ -972,6 +972,7 @@ 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_GUI_ZOOM_FRAME :{BLACK}Maint rhyngwyneb STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_TOOLTIP :{BLACK}Dewis maint yr elfennau rhyngwyneb i'w defnyddio @@ -981,6 +982,8 @@ 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 STR_GAME_OPTIONS_BASE_GRF_STATUS :{RED}{NUM} ffeil ar goll/llygredig @@ -1711,6 +1714,8 @@ STR_CONFIG_ERROR_INVALID_BASE_MUSIC_NOT_FOUND :{WHITE}... yn a STR_CONFIG_ERROR_OUT_OF_MEMORY :{WHITE}Allan o gof STR_CONFIG_ERROR_SPRITECACHE_TOO_BIG :{WHITE}Methwyd dyroddi {BYTES} o storfa corluniau. Lleihawyd y storfa corluniau at {BYTES}. Bydd hyn yn lleihau perfformiad OpenTTD. I leihau gofynion cof gallwch roi cynnig ar analluogi graffigiau 32 did a/neu lefelau mwyháu +# Video initalization errors + # Intro window STR_INTRO_CAPTION :{WHITE}OpenTTD {REV} @@ -2229,6 +2234,7 @@ STR_MISSING_GRAPHICS_SET_MESSAGE :{BLACK}Mae Open STR_MISSING_GRAPHICS_YES_DOWNLOAD :{BLACK}Ia, llawrlwytho'r graffigau STR_MISSING_GRAPHICS_NO_QUIT :{BLACK}Na, gadael OpenTTD + # Transparency settings window STR_TRANSPARENCY_CAPTION :{WHITE}Dewisiadau Tryloywder STR_TRANSPARENT_SIGNS_TOOLTIP :{BLACK}Toglu tryloywder ar gyfer arwyddion. Mae Ctrl+Clic yn cloi @@ -3016,13 +3022,10 @@ STR_LOCAL_AUTHORITY_ACTION_TOOLTIP_BRIBE :{YELLOW} Llwgrw # Goal window STR_GOALS_CAPTION :{WHITE}Amcanion {COMPANY} STR_GOALS_SPECTATOR_CAPTION :{WHITE}Amcanion Bydol -STR_GOALS_GLOBAL_TITLE :{BLACK}Amcanion bydol: STR_GOALS_TEXT :{ORANGE}{STRING} STR_GOALS_NONE :{ORANGE}- Dim - -STR_GOALS_SPECTATOR_NONE :{ORANGE}- Amherthnasol - STR_GOALS_PROGRESS :{ORANGE}{STRING} STR_GOALS_PROGRESS_COMPLETE :{GREEN}{STRING} -STR_GOALS_COMPANY_TITLE :{BLACK}Amcanion cwmni: STR_GOALS_TOOLTIP_CLICK_ON_SERVICE_TO_CENTER :{BLACK}Cliciwch ar amcan i ganoli'r brif olygfa ar y diwydiant/tref/teil Mae Ctrl+Clic yn agor ffenestr golwg newydd ar leoliad y diwydiant/tref/teil # Goal question window diff --git a/src/linkgraph/linkgraph_gui.cpp b/src/linkgraph/linkgraph_gui.cpp index 314b303c3b..2610640c54 100644 --- a/src/linkgraph/linkgraph_gui.cpp +++ b/src/linkgraph/linkgraph_gui.cpp @@ -521,7 +521,7 @@ void LinkGraphOverlay::SetCompanyMask(uint32 company_mask) /** Make a number of rows with buttons for each company for the linkgraph legend window. */ NWidgetBase *MakeCompanyButtonRowsLinkGraphGUI(int *biggest_index) { - return MakeCompanyButtonRows(biggest_index, WID_LGL_COMPANY_FIRST, WID_LGL_COMPANY_LAST, 3, STR_NULL); + return MakeCompanyButtonRows(biggest_index, WID_LGL_COMPANY_FIRST, WID_LGL_COMPANY_LAST, COLOUR_GREY, 3, STR_NULL); } NWidgetBase *MakeSaturationLegendLinkGraphGUI(int *biggest_index) diff --git a/src/network/network_content_gui.cpp b/src/network/network_content_gui.cpp index 13e162b07a..4662791257 100644 --- a/src/network/network_content_gui.cpp +++ b/src/network/network_content_gui.cpp @@ -15,6 +15,7 @@ #include "../ai/ai.hpp" #include "../game/game.hpp" #include "../base_media_base.h" +#include "../openttd.h" #include "../sortlist_type.h" #include "../stringfilter_type.h" #include "../querystring_gui.h" @@ -236,7 +237,7 @@ public: break; case CONTENT_TYPE_NEWGRF: - ScanNewGRFFiles(nullptr); + RequestNewGRFScan(); break; case CONTENT_TYPE_SCENARIO: diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index 0d6f560ab5..6df31ff3ae 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -344,7 +344,6 @@ static std::vector _grf_md5_pending; static std::condition_variable _grf_md5_full_cv; static std::condition_variable _grf_md5_empty_cv; static std::condition_variable _grf_md5_done_cv; -static std::atomic _abort_grf_scan; static const uint GRF_MD5_PENDING_MAX = 8; static void CalcGRFMD5SumFromState(const GRFMD5SumState &state) @@ -374,7 +373,7 @@ void CalcGRFMD5Thread() _grf_md5_pending.pop_back(); lk.unlock(); if (full) _grf_md5_full_cv.notify_one(); - if (!_abort_grf_scan.load(std::memory_order_relaxed)) CalcGRFMD5SumFromState(state); + if (!_exit_game) CalcGRFMD5SumFromState(state); lk.lock(); } } @@ -729,7 +728,8 @@ public: bool GRFFileScanner::AddFile(const std::string &filename, size_t basepath_length, const std::string &tar_filename) { - if (_abort_grf_scan.load(std::memory_order_relaxed)) return false; + /* Abort if the user stopped the game during a scan. */ + if (_exit_game) return false; GRFConfig *c = new GRFConfig(filename.c_str() + basepath_length); @@ -739,21 +739,12 @@ bool GRFFileScanner::AddFile(const std::string &filename, size_t basepath_length } this->num_scanned++; - const auto now = std::chrono::steady_clock::now(); - if (now >= this->next_update) { - this->next_update = now + std::chrono::milliseconds(MODAL_PROGRESS_REDRAW_TIMEOUT); - _modal_progress_work_mutex.unlock(); - _modal_progress_paint_mutex.lock(); - - const char *name = nullptr; - if (c->name != nullptr) name = GetGRFStringFromGRFText(c->name); - if (name == nullptr) name = c->filename; - UpdateNewGRFScanStatus(this->num_scanned, name); - - _modal_progress_work_mutex.lock(); - _modal_progress_paint_mutex.unlock(); - } + const char *name = nullptr; + if (c->name != nullptr) name = GetGRFStringFromGRFText(c->name); + if (name == nullptr) name = c->filename; + UpdateNewGRFScanStatus(this->num_scanned, name); + VideoDriver::GetInstance()->GameLoopPause(); if (!added) { /* File couldn't be opened, or is either not a NewGRF or is a @@ -781,8 +772,6 @@ static bool GRFSorter(GRFConfig * const &c1, GRFConfig * const &c2) */ void DoScanNewGRFFiles(NewGRFScanCallback *callback) { - std::unique_lock lock_work(_modal_progress_work_mutex); - ClearGRFConfigList(&_all_grfs); TarScanner::DoScan(TarScanner::NEWGRF); @@ -814,13 +803,10 @@ void DoScanNewGRFFiles(NewGRFScanCallback *callback) NetworkAfterNewGRFScan(); } - lock_work.unlock(); - std::lock_guard lock_paint(_modal_progress_paint_mutex); - /* Yes... these are the NewGRF windows */ InvalidateWindowClassesData(WC_SAVELOAD, 0, true); InvalidateWindowData(WC_GAME_OPTIONS, WN_GAME_OPTIONS_NEWGRF_STATE, GOID_NEWGRF_RESCANNED, true); - if (callback != nullptr) callback->OnNewGRFsScanned(); + if (!_exit_game && callback != nullptr) callback->OnNewGRFsScanned(); DeleteWindowByClass(WC_MODAL_PROGRESS); SetModalProgress(false); @@ -838,20 +824,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 (!UseThreadedModelProgress() || !VideoDriver::GetInstance()->HasGUI() || !StartNewThread(nullptr, "ottd:newgrf-scan", &DoScanNewGRFFiles, (NewGRFScanCallback *)callback)) { // Without the seemingly superfluous cast, strange compiler errors ensue. - _modal_progress_work_mutex.unlock(); - _modal_progress_paint_mutex.unlock(); - DoScanNewGRFFiles(callback); - _modal_progress_paint_mutex.lock(); - _modal_progress_work_mutex.lock(); - } else { - UpdateNewGRFScanStatus(0, nullptr); - } -} - -void AbortScanNewGRFFiles() -{ - _abort_grf_scan.store(true, std::memory_order_relaxed); + DoScanNewGRFFiles(callback); } /** diff --git a/src/newgrf_config.h b/src/newgrf_config.h index 2406b0ce6f..98d3a2f44b 100644 --- a/src/newgrf_config.h +++ b/src/newgrf_config.h @@ -222,7 +222,6 @@ struct NewGRFScanCallback { size_t GRFGetSizeOfDataSection(FILE *f); void ScanNewGRFFiles(NewGRFScanCallback *callback); -void AbortScanNewGRFFiles(); const GRFConfig *FindGRFConfig(uint32 grfid, FindGRFConfigMode mode, const uint8 *md5sum = nullptr, uint32 desired_version = 0); GRFConfig *GetGRFConfig(uint32 grfid, uint32 mask = 0xFFFFFFFF); GRFConfig **CopyGRFConfigList(GRFConfig **dst, const GRFConfig *src, bool init_only); diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index a9eafdf1c1..127efaea0e 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -664,7 +664,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { DeleteWindowByClass(WC_TEXTFILE); DeleteWindowByClass(WC_SAVE_PRESET); - if (this->editable && !this->execute) { + if (this->editable && !this->execute && !_exit_game) { CopyGRFConfigList(this->orig_list, this->actives, true); ResetGRFConfig(false); ReloadNewGRFData(); @@ -1136,7 +1136,7 @@ struct NewGRFWindow : public Window, NewGRFScanCallback { case WID_NS_RESCAN_FILES: case WID_NS_RESCAN_FILES2: - ScanNewGRFFiles(this); + RequestNewGRFScan(this); break; } } diff --git a/src/openttd.cpp b/src/openttd.cpp index 9408421c61..fd17d1593b 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -103,6 +103,8 @@ extern void ShowOSErrorBox(const char *buf, bool system); extern std::string _config_file; bool _save_config = false; +bool _request_newgrf_scan = false; +NewGRFScanCallback *_request_newgrf_scan_callback = nullptr; GameEventFlags _game_events_since_load; GameEventFlags _game_events_overall; @@ -481,7 +483,6 @@ static void LoadIntroGame(bool load_newgrfs = true) /* Load the default opening screen savegame */ if (SaveOrLoad("opntitle.dat", SLO_LOAD, DFT_GAME_FILE, BASESET_DIR) != SL_OK) { GenerateWorld(GWM_EMPTY, 64, 64); // if failed loading, make empty world. - WaitTillGeneratedWorld(); SetLocalCompany(COMPANY_SPECTATOR); } else { SetLocalCompany(COMPANY_FIRST); @@ -701,9 +702,6 @@ int openttd_main(int argc, char *argv[]) extern bool _dedicated_forks; _dedicated_forks = false; - std::unique_lock modal_work_lock(_modal_progress_work_mutex, std::defer_lock); - std::unique_lock modal_paint_lock(_modal_progress_paint_mutex, std::defer_lock); - _game_mode = GM_MENU; _switch_mode = SM_MENU; @@ -983,34 +981,19 @@ int openttd_main(int argc, char *argv[]) if (musicdriver.empty() && !_ini_musicdriver.empty()) musicdriver = _ini_musicdriver; DriverFactoryBase::SelectDriver(musicdriver, Driver::DT_MUSIC); - /* Take our initial lock on whatever we might want to do! */ - try { - modal_work_lock.lock(); - modal_paint_lock.lock(); - } catch (const std::system_error&) { - /* If there is some error we assume that threads aren't usable on the system we run. */ - extern bool _use_threaded_modal_progress; // From progress.cpp - _use_threaded_modal_progress = false; - } - GenerateWorld(GWM_EMPTY, 64, 64); // Make the viewport initialization happy - WaitTillGeneratedWorld(); - LoadIntroGame(false); CheckForMissingGlyphs(); /* ScanNewGRFFiles now has control over the scanner. */ - ScanNewGRFFiles(scanner.release()); + RequestNewGRFScan(scanner.release()); VideoDriver::GetInstance()->MainLoop(); CrashLog::MainThreadExitCheckPendingCrashlog(); - AbortScanNewGRFFiles(); WaitTillSaved(); - WaitTillGeneratedWorld(); // Make sure any generate world threads have been joined. - WaitUntilModalProgressCompleted(); /* only save config if we have to */ if (_save_config) { @@ -1797,8 +1780,8 @@ void StateGameLoop() StateGameLoop_LinkGraphPauseControl(); } - /* don't execute the state loop during pause */ - if (_pause_mode != PM_UNPAUSED) { + /* Don't execute the state loop during pause or when modal windows are open. */ + if (_pause_mode != PM_UNPAUSED || HasModalProgress()) { PerformanceMeasurer::Paused(PFE_GAMELOOP); PerformanceMeasurer::Paused(PFE_GL_ECONOMY); PerformanceMeasurer::Paused(PFE_GL_TRAINS); @@ -1807,7 +1790,7 @@ void StateGameLoop() PerformanceMeasurer::Paused(PFE_GL_AIRCRAFT); PerformanceMeasurer::Paused(PFE_GL_LANDSCAPE); - UpdateLandscapingLimits(); + if (!HasModalProgress()) UpdateLandscapingLimits(); #ifndef DEBUG_DUMP_COMMANDS Game::GameLoop(); #endif @@ -1816,7 +1799,6 @@ void StateGameLoop() PerformanceMeasurer framerate(PFE_GAMELOOP); PerformanceAccumulator::Reset(PFE_GL_LANDSCAPE); - if (HasModalProgress()) return; Layouter::ReduceLineCache(); @@ -1909,6 +1891,19 @@ static void DoAutosave() } } +/** + * Request a new NewGRF scan. This will be executed on the next game-tick. + * This is mostly needed to ensure NewGRF scans (which are blocking) are + * done in the game-thread, and not in the draw-thread (which most often + * triggers this request). + * @param callback Optional callback to call when NewGRF scan is completed. + */ +void RequestNewGRFScan(NewGRFScanCallback *callback) +{ + _request_newgrf_scan = true; + _request_newgrf_scan_callback = callback; +} + void GameLoopSpecial() { /* autosave game? */ @@ -1939,6 +1934,14 @@ void GameLoop() return; } + if (_request_newgrf_scan) { + ScanNewGRFFiles(_request_newgrf_scan_callback); + _request_newgrf_scan = false; + _request_newgrf_scan_callback = nullptr; + /* In case someone closed the game during our scan, don't do anything else. */ + if (_exit_game) return; + } + ProcessAsyncSaveFinish(); if (unlikely(_check_special_modes)) GameLoopSpecial(); @@ -1950,7 +1953,6 @@ void GameLoop() } IncreaseSpriteLRU(); - InteractiveRandom(); /* Check for UDP stuff */ if (_network_available) NetworkBackgroundLoop(); diff --git a/src/openttd.h b/src/openttd.h index 6b03d6914f..1b46dc00ac 100644 --- a/src/openttd.h +++ b/src/openttd.h @@ -113,4 +113,6 @@ void HandleExitGameRequest(); void SwitchToMode(SwitchMode new_mode); +void RequestNewGRFScan(struct NewGRFScanCallback *callback = nullptr); + #endif /* OPENTTD_H */ diff --git a/src/os/macosx/crashlog_osx.cpp b/src/os/macosx/crashlog_osx.cpp index 1444877d95..1811aa5c41 100644 --- a/src/os/macosx/crashlog_osx.cpp +++ b/src/os/macosx/crashlog_osx.cpp @@ -482,6 +482,10 @@ void CDECL HandleCrash(int signum, siginfo_t *si, void *context) } } +/* static */ void CrashLog::InitThread() +{ +} + /* static */ void CrashLog::DesyncCrashLog(const std::string *log_in, std::string *log_out, const DesyncExtraInfo &info) { CrashLogOSX log(CrashLogOSX::DesyncTag{}); diff --git a/src/os/unix/crashlog_unix.cpp b/src/os/unix/crashlog_unix.cpp index 09eac92e97..94ce535a9d 100644 --- a/src/os/unix/crashlog_unix.cpp +++ b/src/os/unix/crashlog_unix.cpp @@ -618,6 +618,10 @@ static void CDECL HandleCrash(int signum) } } +/* static */ void CrashLog::InitThread() +{ +} + /* static */ void CrashLog::DesyncCrashLog(const std::string *log_in, std::string *log_out, const DesyncExtraInfo &info) { CrashLogUnix log(CrashLogUnix::DesyncTag{}); diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp index cae5baa4e4..6efb5bb7b8 100644 --- a/src/os/windows/crashlog_win.cpp +++ b/src/os/windows/crashlog_win.cpp @@ -615,7 +615,7 @@ static void ShowCrashlogWindow(); * Stack pointer for use when 'starting' the crash handler. * Not static as gcc's inline assembly needs it that way. */ -void *_safe_esp = nullptr; +thread_local void *_safe_esp = nullptr; static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep) { @@ -655,9 +655,9 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep) CloseConsoleLogIfActive(); void *crash_win_esp = _safe_esp; - if (!IsMainThread() || crash_win_esp == nullptr) { - /* _safe_esp is only valid for the main thread. - * Try to read the stack base from the thread environment block. */ + if (crash_win_esp == nullptr) { + /* If _safe_esp is not set for the current thread, + * try to read the stack base from the thread environment block instead. */ #ifdef _M_AMD64 /* The stack pointer for AMD64 must always be 16-byte aligned inside a * function. As we are simulating a function call with the safe ESP value, @@ -705,28 +705,7 @@ static void CDECL CustomAbort(int signal) /* static */ void CrashLog::InitialiseCrashLog() { -#if defined(_M_AMD64) || defined(_M_ARM64) - CONTEXT ctx; - RtlCaptureContext(&ctx); - - /* The stack pointer for AMD64 must always be 16-byte aligned inside a - * function. As we are simulating a function call with the safe ESP value, - * we need to subtract 8 for the imaginary return address otherwise stack - * alignment would be wrong in the called function. */ -#if defined(_M_ARM64) - _safe_esp = (void *)(ctx.Sp - 8); -#else - _safe_esp = (void *)(ctx.Rsp - 8); -#endif -#else -#if defined(_MSC_VER) - _asm { - mov _safe_esp, esp - } -#else - asm("movl %esp, __safe_esp"); -#endif -#endif + CrashLog::InitThread(); /* SIGABRT is not an unhandled exception, so we need to intercept it. */ signal(SIGABRT, CustomAbort); @@ -743,6 +722,34 @@ static void CDECL CustomAbort(int signal) } } +/* static */ void CrashLog::InitThread() +{ +#if defined(_M_AMD64) || defined(_M_ARM64) + CONTEXT ctx; + RtlCaptureContext(&ctx); + + /* The stack pointer for AMD64 must always be 16-byte aligned inside a + * function. As we are simulating a function call with the safe ESP value, + * we need to subtract 8 for the imaginary return address otherwise stack + * alignment would be wrong in the called function. */ +# if defined(_M_ARM64) + _safe_esp = (void *)(ctx.Sp - 8); +# else + _safe_esp = (void *)(ctx.Rsp - 8); +# endif +#else + void *safe_esp; +# if defined(_MSC_VER) + _asm { + mov safe_esp, esp + } +# else + asm("movl %esp, _safe_esp"); +# endif + _safe_esp = safe_esp; +#endif +} + /* static */ void CrashLog::DesyncCrashLog(const std::string *log_in, std::string *log_out, const DesyncExtraInfo &info) { CrashLogWindows log(nullptr); diff --git a/src/progress.cpp b/src/progress.cpp index ea72fc51a5..a8dac7fa14 100644 --- a/src/progress.cpp +++ b/src/progress.cpp @@ -11,76 +11,16 @@ #include "progress.h" #include "video/video_driver.hpp" -#include -#include -#include -#if defined(__MINGW32__) -#include "3rdparty/mingw-std-threads/mingw.mutex.h" -#include "3rdparty/mingw-std-threads/mingw.condition_variable.h" -#endif - #include "safeguards.h" /** Are we in a modal progress or not? */ bool _in_modal_progress = false; -bool _first_in_modal_loop = false; -/** Threading usable for modal progress? */ -bool _use_threaded_modal_progress = true; -/** Rights for the performing work. */ -std::mutex _modal_progress_work_mutex; -/** Rights for the painting. */ -std::mutex _modal_progress_paint_mutex; - -static std::mutex _modal_progress_cv_mutex; -static std::condition_variable _modal_progress_cv; /** * Set the modal progress state. - * @note Makes IsFirstModalProgressLoop return true for the next call. * @param state The new state; are we modal or not? */ void SetModalProgress(bool state) { - _modal_progress_cv_mutex.lock(); _in_modal_progress = state; - _first_in_modal_loop = true; - _modal_progress_cv_mutex.unlock(); - if (!state) _modal_progress_cv.notify_all(); -} - -/** - * Check whether this is the first modal progress loop. - * @note Set by SetModalProgress, unset by calling this method. - * @return True if this is the first loop. - */ -bool IsFirstModalProgressLoop() -{ - bool ret = _first_in_modal_loop; - _first_in_modal_loop = false; - return ret; -} - -void SleepWhileModalProgress(int milliseconds) -{ - std::unique_lock lk(_modal_progress_cv_mutex); - _modal_progress_cv.wait_for(lk, std::chrono::milliseconds(milliseconds), []{ return !_in_modal_progress; }); -} - -void WaitUntilModalProgressCompleted() -{ - if (HasModalProgress()) { - _modal_progress_paint_mutex.unlock(); - _modal_progress_work_mutex.unlock(); - - { - std::unique_lock lk(_modal_progress_cv_mutex); - _modal_progress_cv.wait(lk, []{ return !_in_modal_progress; }); - } - - /* Modal progress thread may need blitter access while we are waiting for it. */ - VideoDriver::GetInstance()->ReleaseBlitterLock(); - _modal_progress_paint_mutex.lock(); - VideoDriver::GetInstance()->AcquireBlitterLock(); - _modal_progress_work_mutex.lock(); - } } diff --git a/src/progress.h b/src/progress.h index 16848252e0..765020635e 100644 --- a/src/progress.h +++ b/src/progress.h @@ -10,13 +10,6 @@ #ifndef PROGRESS_H #define PROGRESS_H -#include -#if defined(__MINGW32__) -#include "3rdparty/mingw-std-threads/mingw.mutex.h" -#endif - -static const uint MODAL_PROGRESS_REDRAW_TIMEOUT = 100; ///< Timeout between redraws - /** * Check if we are currently in a modal progress state. * @return Are we in the modal state? @@ -27,22 +20,6 @@ static inline bool HasModalProgress() return _in_modal_progress; } -/** - * Check if we can use a thread for modal progress. - * @return Threading usable? - */ -static inline bool UseThreadedModelProgress() -{ - extern bool _use_threaded_modal_progress; - return _use_threaded_modal_progress; -} - -bool IsFirstModalProgressLoop(); void SetModalProgress(bool state); -void SleepWhileModalProgress(int milliseconds); -void WaitUntilModalProgressCompleted(); - -extern std::mutex _modal_progress_work_mutex; -extern std::mutex _modal_progress_paint_mutex; #endif /* PROGRESS_H */ diff --git a/src/rail_gui.cpp b/src/rail_gui.cpp index dc042226ce..a4a8f480d0 100644 --- a/src/rail_gui.cpp +++ b/src/rail_gui.cpp @@ -32,6 +32,10 @@ #include "vehicle_func.h" #include "zoom_func.h" #include "rail_gui.h" +#include "querystring_gui.h" +#include "sortlist_type.h" +#include "stringfilter_type.h" +#include "string_func.h" #include "tracerestrict.h" #include "programmable_signals.h" @@ -1004,6 +1008,36 @@ private: Scrollbar *vscroll; ///< Vertical scrollbar of the new station list. Scrollbar *vscroll2; ///< Vertical scrollbar of the matrix with new stations. + typedef GUIList GUIStationClassList; ///< Type definition for the list to hold available station classes. + + static const uint EDITBOX_MAX_SIZE = 16; ///< The maximum number of characters for the filter edit box. + + static Listing last_sorting; ///< Default sorting of #GUIStationClassList. + static Filtering last_filtering; ///< Default filtering of #GUIStationClassList. + static GUIStationClassList::SortFunction * const sorter_funcs[]; ///< Sort functions of the #GUIStationClassList. + static GUIStationClassList::FilterFunction * const filter_funcs[]; ///< Filter functions of the #GUIStationClassList. + GUIStationClassList station_classes; ///< Available station classes. + StringFilter string_filter; ///< Filter for available station classes. + QueryString filter_editbox; ///< Filter editbox. + + /** + * Scrolls #WID_BRAS_NEWST_SCROLL so that the selected station class is visible. + * + * Note that this method should be called shortly after SelectClassAndStation() which will ensure + * an actual existing station class is selected, or the one at position 0 which will always be + * the default TTD rail station. + */ + void EnsureSelectedStationClassIsVisible() + { + uint pos = 0; + for (auto station_class : this->station_classes) { + if (station_class == _railstation.station_class) break; + pos++; + } + this->vscroll->SetCount((int)this->station_classes.size()); + this->vscroll->ScrollTowards(pos); + } + /** * Verify whether the currently selected station size is allowed after selecting a new station class/type. * If not, change the station size variables ( _settings_client.gui.station_numtracks and _settings_client.gui.station_platlength ). @@ -1038,7 +1072,7 @@ private: } public: - BuildRailStationWindow(WindowDesc *desc, Window *parent, bool newstation) : PickerWindowBase(desc, parent) + BuildRailStationWindow(WindowDesc *desc, Window *parent, bool newstation) : PickerWindowBase(desc, parent), filter_editbox(EDITBOX_MAX_SIZE) { this->coverage_height = 2 * FONT_HEIGHT_NORMAL + 3 * WD_PAR_VSEP_NORMAL; this->vscroll = nullptr; @@ -1053,10 +1087,24 @@ public: newst_additions->SetDisplayedPlane(newstation ? 0 : SZSP_NONE); newst_additions = this->GetWidget(WID_BRAS_SHOW_NEWST_RESIZE); newst_additions->SetDisplayedPlane(newstation ? 0 : SZSP_NONE); + /* Hide the station class filter if no stations other than the default one are available. */ + this->GetWidget(WID_BRAS_FILTER_CONTAINER)->SetDisplayedPlane(newstation ? 0 : SZSP_NONE); if (newstation) { this->vscroll = this->GetScrollbar(WID_BRAS_NEWST_SCROLL); this->vscroll2 = this->GetScrollbar(WID_BRAS_MATRIX_SCROLL); + + this->querystrings[WID_BRAS_FILTER_EDITBOX] = &this->filter_editbox; + this->station_classes.SetListing(this->last_sorting); + this->station_classes.SetFiltering(this->last_filtering); + this->station_classes.SetSortFuncs(this->sorter_funcs); + this->station_classes.SetFilterFuncs(this->filter_funcs); } + + this->station_classes.ForceRebuild(); + + BuildStationClassesAvailable(); + SelectClassAndStation(); + this->FinishInitNested(TRANSPORT_RAIL); this->LowerWidget(_railstation.orientation + WID_BRAS_PLATFORM_DIR_X); @@ -1069,30 +1117,25 @@ public: this->SetWidgetLoweredState(WID_BRAS_HIGHLIGHT_OFF, !_settings_client.gui.station_show_coverage); this->SetWidgetLoweredState(WID_BRAS_HIGHLIGHT_ON, _settings_client.gui.station_show_coverage); - if (!newstation || _railstation.station_class >= (int)StationClass::GetClassCount()) { - /* New stations are not available or changed, so ensure the default station - * type is 'selected'. */ - _railstation.station_class = STAT_CLASS_DFLT; + if (!newstation) { + _railstation.station_class = StationClassID::STAT_CLASS_DFLT; _railstation.station_type = 0; this->vscroll2 = nullptr; - } - if (newstation) { + } else { _railstation.station_count = StationClass::Get(_railstation.station_class)->GetSpecCount(); _railstation.station_type = std::min(_railstation.station_type, _railstation.station_count - 1); - int count = 0; - for (uint i = 0; i < StationClass::GetClassCount(); i++) { - if (i == STAT_CLASS_WAYP) continue; - count++; - } - this->vscroll->SetCount(count); - this->vscroll->SetPosition(Clamp(_railstation.station_class - 2, 0, std::max(this->vscroll->GetCount() - this->vscroll->GetCapacity(), 0))); - NWidgetMatrix *matrix = this->GetWidget(WID_BRAS_MATRIX); matrix->SetScrollbar(this->vscroll2); matrix->SetCount(_railstation.station_count); matrix->SetClicked(_railstation.station_type); + + EnsureSelectedStationClassIsVisible(); + + this->SetFocusedWidget(WID_BRAS_FILTER_EDITBOX); } + + this->InvalidateData(); } virtual ~BuildRailStationWindow() @@ -1100,6 +1143,99 @@ public: DeleteWindowById(WC_SELECT_STATION, 0); } + /** Sort station classes by StationClassID. */ + static bool StationClassIDSorter(StationClassID const &a, StationClassID const &b) + { + return a < b; + } + + /** Filter station classes by class name. */ + static bool CDECL TagNameFilter(StationClassID const * sc, StringFilter &filter) + { + char buffer[DRAW_STRING_BUFFER]; + GetString(buffer, StationClass::Get(*sc)->name, lastof(buffer)); + + filter.ResetState(); + filter.AddLine(buffer); + return filter.GetState(); + } + + /** Builds the filter list of available station classes. */ + void BuildStationClassesAvailable() + { + if (!this->station_classes.NeedRebuild()) return; + + this->station_classes.clear(); + + for (uint i = 0; i < StationClass::GetClassCount(); i++) { + StationClassID station_class_id = (StationClassID)i; + if (station_class_id == StationClassID::STAT_CLASS_WAYP) { + // Skip waypoints. + continue; + } + StationClass *station_class = StationClass::Get(station_class_id); + if (station_class->GetUISpecCount() == 0) continue; + station_classes.push_back(station_class_id); + } + + if (_railstation.newstations) { + this->station_classes.Filter(this->string_filter); + this->station_classes.shrink_to_fit(); + this->station_classes.RebuildDone(); + this->station_classes.Sort(); + + this->vscroll->SetCount((uint)this->station_classes.size()); + } + } + + /** + * Checks if the previously selected current station class and station + * can be shown as selected to the user when the dialog is opened. + */ + void SelectClassAndStation() + { + if (_railstation.station_class == StationClassID::STAT_CLASS_DFLT) { + /* This happens during the first time the window is open during the game life cycle. */ + this->SelectOtherClass(StationClassID::STAT_CLASS_DFLT); + } else { + /* Check if the previously selected station class is not available anymore as a + * result of starting a new game without the corresponding NewGRF. */ + bool available = false; + for (uint i = 0; i < StationClass::GetClassCount(); ++i) { + if ((StationClassID)i == _railstation.station_class) { + available = true; + break; + } + } + + this->SelectOtherClass(available ? _railstation.station_class : StationClassID::STAT_CLASS_DFLT); + } + } + + /** + * Select the specified station class. + * @param station_class Station class select. + */ + void SelectOtherClass(StationClassID station_class) + { + _railstation.station_class = station_class; + } + + void OnInvalidateData(int data = 0, bool gui_scope = true) override + { + if (!gui_scope) return; + + this->BuildStationClassesAvailable(); + } + + void OnEditboxChanged(int wid) override + { + string_filter.SetFilterTerm(this->filter_editbox.text.buf); + this->station_classes.SetFilterState(!string_filter.IsEmpty()); + this->station_classes.ForceRebuild(); + this->InvalidateData(); + } + void OnPaint() override { bool newstations = _railstation.newstations; @@ -1157,9 +1293,8 @@ public: switch (widget) { case WID_BRAS_NEWST_LIST: { Dimension d = {0, 0}; - for (uint i = 0; i < StationClass::GetClassCount(); i++) { - if (i == STAT_CLASS_WAYP) continue; - d = maxdim(d, GetStringBoundingBox(StationClass::Get((StationClassID)i)->name)); + for (auto station_class : this->station_classes) { + d = maxdim(d, GetStringBoundingBox(StationClass::Get(station_class)->name)); } size->width = std::max(size->width, d.width + padding.width); this->line_height = FONT_HEIGHT_NORMAL + WD_MATRIX_TOP + WD_MATRIX_BOTTOM; @@ -1178,9 +1313,8 @@ public: /* If newstations exist, compute the non-zero minimal size. */ Dimension d = {0, 0}; StringID str = this->GetWidget(widget)->widget_data; - for (StationClassID statclass = STAT_CLASS_BEGIN; statclass < (StationClassID)StationClass::GetClassCount(); statclass++) { - if (statclass == STAT_CLASS_WAYP) continue; - StationClass *stclass = StationClass::Get(statclass); + for (auto station_class : this->station_classes) { + StationClass *stclass = StationClass::Get(station_class); for (uint16 j = 0; j < stclass->GetSpecCount(); j++) { const StationSpec *statspec = stclass->GetSpec(j); SetDParam(0, (statspec != nullptr && statspec->name != 0) ? statspec->name : STR_STATION_CLASS_DFLT); @@ -1245,12 +1379,11 @@ public: case WID_BRAS_NEWST_LIST: { uint statclass = 0; uint row = 0; - for (uint i = 0; i < StationClass::GetClassCount(); i++) { - if (i == STAT_CLASS_WAYP) continue; + for (auto station_class : this->station_classes) { if (this->vscroll->IsVisible(statclass)) { 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); + StationClass::Get(station_class)->name, + station_class == _railstation.station_class ? TC_WHITE : TC_BLACK); row++; } statclass++; @@ -1428,29 +1561,23 @@ public: case WID_BRAS_NEWST_LIST: { int y = this->vscroll->GetScrolledRowFromWidget(pt.y, this, WID_BRAS_NEWST_LIST, 0, this->line_height); - if (y >= (int)StationClass::GetClassCount()) return; - for (uint i = 0; i < StationClass::GetClassCount(); i++) { - if (i == STAT_CLASS_WAYP) continue; - if (y == 0) { - if (_railstation.station_class != (StationClassID)i) { - _railstation.station_class = (StationClassID)i; - StationClass *stclass = StationClass::Get(_railstation.station_class); - _railstation.station_count = stclass->GetSpecCount(); - _railstation.station_type = std::min((int)_railstation.station_type, std::max(0, (int)_railstation.station_count - 1)); + if (y >= (int)this->station_classes.size()) return; + StationClassID station_class_id = this->station_classes[y]; + if (_railstation.station_class != station_class_id) { + StationClass *station_class = StationClass::Get(station_class_id); + _railstation.station_class = station_class_id; + _railstation.station_count = station_class->GetSpecCount(); + _railstation.station_type = 0; - this->CheckSelectedSize(stclass->GetSpec(_railstation.station_type)); + this->CheckSelectedSize(station_class->GetSpec(_railstation.station_type)); - NWidgetMatrix *matrix = this->GetWidget(WID_BRAS_MATRIX); - matrix->SetCount(_railstation.station_count); - matrix->SetClicked(_railstation.station_type); - } - if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); - this->SetDirty(); - DeleteWindowById(WC_SELECT_STATION, 0); - break; - } - y--; + NWidgetMatrix *matrix = this->GetWidget(WID_BRAS_MATRIX); + matrix->SetCount(_railstation.station_count); + matrix->SetClicked(_railstation.station_type); } + if (_settings_client.sound.click_beep) SndPlayFx(SND_15_BEEP); + this->SetDirty(); + DeleteWindowById(WC_SELECT_STATION, 0); break; } @@ -1481,6 +1608,17 @@ public: } }; +Listing BuildRailStationWindow::last_sorting = { false, 0 }; +Filtering BuildRailStationWindow::last_filtering = { false, 0 }; + +BuildRailStationWindow::GUIStationClassList::SortFunction * const BuildRailStationWindow::sorter_funcs[] = { + &StationClassIDSorter, +}; + +BuildRailStationWindow::GUIStationClassList::FilterFunction * const BuildRailStationWindow::filter_funcs[] = { + &TagNameFilter, +}; + static const NWidgetPart _nested_station_builder_widgets[] = { NWidget(NWID_HORIZONTAL), NWidget(WWT_CLOSEBOX, COLOUR_DARK_GREEN), @@ -1493,6 +1631,13 @@ static const NWidgetPart _nested_station_builder_widgets[] = { NWidget(WWT_PANEL, COLOUR_DARK_GREEN), NWidget(NWID_HORIZONTAL), NWidget(NWID_VERTICAL), + NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_FILTER_CONTAINER), + NWidget(NWID_HORIZONTAL), SetPadding(2, 2, 0, 5), + NWidget(WWT_TEXT, COLOUR_DARK_GREEN), SetFill(0, 1), SetDataTip(STR_LIST_FILTER_TITLE, STR_NULL), + NWidget(WWT_EDITBOX, COLOUR_GREY, WID_BRAS_FILTER_EDITBOX), SetFill(1, 0), SetResize(1, 0), + SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP), + EndContainer(), + EndContainer(), NWidget(NWID_SELECTION, INVALID_COLOUR, WID_BRAS_SHOW_NEWST_ADDITIONS), NWidget(NWID_HORIZONTAL), SetPIP(7, 0, 7), SetPadding(2, 0, 1, 0), NWidget(WWT_MATRIX, COLOUR_GREY, WID_BRAS_NEWST_LIST), SetMinimalSize(122, 71), SetFill(1, 0), @@ -2079,6 +2224,7 @@ static void ShowBuildWaypointPicker(Window *parent) void InitializeRailGui() { _build_depot_direction = DIAGDIR_NW; + _railstation.station_class = StationClassID::STAT_CLASS_DFLT; } /** diff --git a/src/rev.cpp.in b/src/rev.cpp.in index c1b2f7ee94..3f0cd4e9bb 100644 --- a/src/rev.cpp.in +++ b/src/rev.cpp.in @@ -91,4 +91,4 @@ const byte _openttd_revision_tagged = ${REV_ISTAG}; * version, thus making comparisons on specific revisions easy. */ /** ${REV_ISSTABLETAG} removed */ -const uint32 _openttd_newgrf_version = 1 << 28 | 11 << 24 | 0 << 20 | 0 << 19 | 28004; +const uint32 _openttd_newgrf_version = 1 << 28 | 12 << 24 | 0 << 20 | 0 << 19 | 28004; diff --git a/src/road_cmd.cpp b/src/road_cmd.cpp index 32a728b2de..b84365b8fd 100644 --- a/src/road_cmd.cpp +++ b/src/road_cmd.cpp @@ -1928,8 +1928,23 @@ void DrawRoadTypeCatenary(const TileInfo *ti, RoadType rt, RoadBits rb) * For tiles with OWNER_TOWN or OWNER_NONE, recolour CC to grey as a neutral colour. */ Owner owner = GetRoadOwner(ti->tile, GetRoadTramType(rt)); PaletteID pal = (owner == OWNER_NONE || owner == OWNER_TOWN ? GENERAL_SPRITE_COLOUR(COLOUR_GREY) : COMPANY_SPRITE_COLOUR(owner)); - if (back != 0) AddSortableSpriteToDraw(back, pal, ti->x, ti->y, 16, 16, TILE_HEIGHT + BB_HEIGHT_UNDER_BRIDGE, ti->z, IsTransparencySet(TO_CATENARY)); - if (front != 0) AddSortableSpriteToDraw(front, pal, ti->x, ti->y, 16, 16, TILE_HEIGHT + BB_HEIGHT_UNDER_BRIDGE, ti->z, IsTransparencySet(TO_CATENARY)); + int z_wires = (ti->tileh == SLOPE_FLAT ? 0 : TILE_HEIGHT) + BB_HEIGHT_UNDER_BRIDGE; + if (back != 0) { + /* The "back" sprite contains the west, north and east pillars. + * We cut the sprite at 3/8 of the west/east edges to create 3 sprites. + * 3/8 is chosen so that sprites can somewhat graphically extend into the tile. */ + static const int INF = 1000; ///< big number compared to sprite size + static const SubSprite west = { -INF, -INF, -12, INF }; + static const SubSprite north = { -12, -INF, 12, INF }; + static const SubSprite east = { 12, -INF, INF, INF }; + AddSortableSpriteToDraw(back, pal, ti->x, ti->y, 16, 1, z_wires, ti->z, IsTransparencySet(TO_CATENARY), 15, 0, GetSlopePixelZInCorner(ti->tileh, CORNER_W), &west); + AddSortableSpriteToDraw(back, pal, ti->x, ti->y, 1, 1, z_wires, ti->z, IsTransparencySet(TO_CATENARY), 0, 0, GetSlopePixelZInCorner(ti->tileh, CORNER_N), &north); + AddSortableSpriteToDraw(back, pal, ti->x, ti->y, 1, 16, z_wires, ti->z, IsTransparencySet(TO_CATENARY), 0, 15, GetSlopePixelZInCorner(ti->tileh, CORNER_E), &east); + } + if (front != 0) { + /* Draw the "front" sprite (containing south pillar and wires) at a Z height that is both above the vehicles and above the "back" pillars. */ + AddSortableSpriteToDraw(front, pal, ti->x, ti->y, 16, 16, z_wires + 1, ti->z, IsTransparencySet(TO_CATENARY), 0, 0, z_wires); + } } /** diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index 286c83cbe5..21d3abf996 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -327,7 +327,7 @@ enum SaveLoadVersion : uint16 { SLV_GS_INDUSTRY_CONTROL, ///< 287 PR#7912 and PR#8115 GS industry control. SLV_VEH_MOTION_COUNTER, ///< 288 PR#8591 Desync safe motion counter - SLV_INDUSTRY_TEXT, ///< 289 PR#8576 Additional GS text for industries. + SLV_INDUSTRY_TEXT, ///< 289 PR#8576 v1.11 Additional GS text for industries. SL_MAX_VERSION, ///< Highest possible saveload version diff --git a/src/script/api/ai_changelog.hpp b/src/script/api/ai_changelog.hpp index a0d9097d9e..f63b41fa9b 100644 --- a/src/script/api/ai_changelog.hpp +++ b/src/script/api/ai_changelog.hpp @@ -13,10 +13,12 @@ * functions may still be available if you return an older API version * in GetAPIVersion() in info.nut. * - * \b 1.11.0 + * \b 1.12.0 * * This version is not yet released. The following changes are not set in stone yet. * + * \b 1.11.0 + * * API additions: * \li AICargo::GetName * \li AIPriorityQueue diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp index 737adc7fc5..2702a98e7c 100644 --- a/src/script/api/game_changelog.hpp +++ b/src/script/api/game_changelog.hpp @@ -13,10 +13,12 @@ * functions may still be available if you return an older API version * in GetAPIVersion() in info.nut. * - * \b 1.11.0 + * \b 1.12.0 * * This version is not yet released. The following changes are not set in stone yet. * + * \b 1.11.0 + * * API additions: * \li GSCargo::GetName * \li GSEventStoryPageButtonClick diff --git a/src/settings.cpp b/src/settings.cpp index c7a972d8a3..0a24ae4cf4 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1304,6 +1304,13 @@ static bool ZoomMinMaxChanged(int32 p1) return true; } +static bool SpriteZoomMinChanged(int32 p1) { + GfxClearSpriteCache(); + /* Force all sprites to redraw at the new chosen zoom level */ + MarkWholeScreenDirty(); + return true; +} + static bool InvalidateSettingsWindow(int32 p1) { InvalidateWindowClassesData(WC_GAME_OPTIONS); diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 6e0430512e..41d69f9557 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -35,11 +35,15 @@ #include "querystring_gui.h" #include "fontcache.h" #include "zoom_func.h" +#include "video/video_driver.hpp" #include #include +#include +#include #include "safeguards.h" +#include "video/video_driver.hpp" extern void FlushDeparturesWindowTextCaches(); @@ -76,14 +80,10 @@ static const void *ResolveVariableAddress(const GameSettings *settings_ptr, cons * Get index of the current screen resolution. * @return Index of the current screen resolution if it is a known resolution, _resolutions.size() otherwise. */ -static uint GetCurRes() +static uint GetCurrentResolutionIndex() { - uint i; - - for (i = 0; i != _resolutions.size(); i++) { - if (_resolutions[i] == Dimension(_screen.width, _screen.height)) break; - } - return i; + auto it = std::find(_resolutions.begin(), _resolutions.end(), Dimension(_screen.width, _screen.height)); + return std::distance(_resolutions.begin(), it); } static void ShowCustCurrency(); @@ -141,6 +141,22 @@ void ShowBaseSetTextfileWindow(TextfileType file_type, const TBaseSet* baseset, new BaseSetTextfileWindow(file_type, baseset, content_type); } +std::set _refresh_rates = { 30, 60, 75, 90, 100, 120, 144, 240 }; + +/** + * Add the refresh rate from the config and the refresh rates from all the monitors to + * our list of refresh rates shown in the GUI. + */ +static void AddCustomRefreshRates() +{ + /* Add the refresh rate as selected in the config. */ + _refresh_rates.insert(_settings_client.gui.refresh_rate); + + /* Add all the refresh rates of all monitors connected to the machine. */ + std::vector monitorRates = VideoDriver::GetInstance()->GetListOfMonitorRefreshRates(); + std::copy(monitorRates.begin(), monitorRates.end(), std::inserter(_refresh_rates, _refresh_rates.end())); +} + struct GameOptionsWindow : Window { GameSettings *opt; bool reload; @@ -150,6 +166,8 @@ struct GameOptionsWindow : Window { this->opt = &GetGameSettings(); this->reload = false; + AddCustomRefreshRates(); + this->InitNested(WN_GAME_OPTIONS_GAME_OPTIONS); this->OnInvalidateData(0); } @@ -200,8 +218,19 @@ struct GameOptionsWindow : Window { case WID_GO_LANG_DROPDOWN: { // Setup interface language dropdown for (uint i = 0; i < _languages.size(); i++) { - if (&_languages[i] == _current_language) *selected_index = i; - list.emplace_back(new DropDownListStringItem(SPECSTR_LANGUAGE_START + i, i, false)); + auto item = new DropDownListParamStringItem(STR_JUST_RAW_STRING, i, false); + if (&_languages[i] == _current_language) { + *selected_index = i; + item->SetParamStr(0, _languages[i].own_name); + } else { + /* Especially with sprite-fonts, not all localized + * names can be rendered. So instead, we use the + * international names for anything but the current + * selected language. This avoids showing a few ???? + * entries in the dropdown list. */ + item->SetParamStr(0, _languages[i].name); + } + list.emplace_back(item); } std::sort(list.begin(), list.end(), DropDownListStringItem::NatSortFunc); break; @@ -210,9 +239,22 @@ struct GameOptionsWindow : Window { case WID_GO_RESOLUTION_DROPDOWN: // Setup resolution dropdown if (_resolutions.empty()) break; - *selected_index = GetCurRes(); + *selected_index = GetCurrentResolutionIndex(); for (uint i = 0; i < _resolutions.size(); i++) { - list.emplace_back(new DropDownListStringItem(SPECSTR_RESOLUTION_START + i, i, false)); + auto item = new DropDownListParamStringItem(STR_GAME_OPTIONS_RESOLUTION_ITEM, i, false); + item->SetParam(0, _resolutions[i].width); + item->SetParam(1, _resolutions[i].height); + list.emplace_back(item); + } + break; + + case WID_GO_REFRESH_RATE_DROPDOWN: // Setup refresh rate dropdown + for (auto it = _refresh_rates.begin(); it != _refresh_rates.end(); it++) { + auto i = std::distance(_refresh_rates.begin(), it); + if (*it == _settings_client.gui.refresh_rate) *selected_index = i; + auto item = new DropDownListParamStringItem(STR_GAME_OPTIONS_REFRESH_RATE_ITEM, i, false); + item->SetParam(0, *it); + list.emplace_back(item); } break; @@ -253,17 +295,29 @@ struct GameOptionsWindow : Window { void SetStringParameters(int widget) const override { switch (widget) { - case WID_GO_CURRENCY_DROPDOWN: SetDParam(0, _currency_specs[this->opt->locale.currency].name); break; - 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() == _resolutions.size() ? STR_GAME_OPTIONS_RESOLUTION_OTHER : SPECSTR_RESOLUTION_START + GetCurRes()); break; - case WID_GO_GUI_ZOOM_DROPDOWN: SetDParam(0, _gui_zoom_dropdown[_gui_zoom_cfg != ZOOM_LVL_CFG_AUTO ? ZOOM_LVL_OUT_4X - _gui_zoom_cfg + 1 : 0]); break; - case WID_GO_FONT_ZOOM_DROPDOWN: SetDParam(0, _font_zoom_dropdown[_font_zoom_cfg != ZOOM_LVL_CFG_AUTO ? ZOOM_LVL_OUT_4X - _font_zoom_cfg + 1 : 0]); break; - case WID_GO_BASE_GRF_DROPDOWN: SetDParamStr(0, BaseGraphics::GetUsedSet()->name.c_str()); break; - case WID_GO_BASE_GRF_STATUS: SetDParam(0, BaseGraphics::GetUsedSet()->GetNumInvalid()); break; - case WID_GO_BASE_SFX_DROPDOWN: SetDParamStr(0, BaseSounds::GetUsedSet()->name.c_str()); break; - case WID_GO_BASE_MUSIC_DROPDOWN: SetDParamStr(0, BaseMusic::GetUsedSet()->name.c_str()); break; - case WID_GO_BASE_MUSIC_STATUS: SetDParam(0, BaseMusic::GetUsedSet()->GetNumInvalid()); break; + case WID_GO_CURRENCY_DROPDOWN: SetDParam(0, _currency_specs[this->opt->locale.currency].name); break; + 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_GUI_ZOOM_DROPDOWN: SetDParam(0, _gui_zoom_dropdown[_gui_zoom_cfg != ZOOM_LVL_CFG_AUTO ? ZOOM_LVL_OUT_4X - _gui_zoom_cfg + 1 : 0]); break; + case WID_GO_FONT_ZOOM_DROPDOWN: SetDParam(0, _font_zoom_dropdown[_font_zoom_cfg != ZOOM_LVL_CFG_AUTO ? ZOOM_LVL_OUT_4X - _font_zoom_cfg + 1 : 0]); break; + case WID_GO_BASE_GRF_DROPDOWN: SetDParamStr(0, BaseGraphics::GetUsedSet()->name.c_str()); break; + case WID_GO_BASE_GRF_STATUS: SetDParam(0, BaseGraphics::GetUsedSet()->GetNumInvalid()); break; + case WID_GO_BASE_SFX_DROPDOWN: SetDParamStr(0, BaseSounds::GetUsedSet()->name.c_str()); break; + case WID_GO_BASE_MUSIC_DROPDOWN: SetDParamStr(0, BaseMusic::GetUsedSet()->name.c_str()); break; + case WID_GO_BASE_MUSIC_STATUS: SetDParam(0, BaseMusic::GetUsedSet()->GetNumInvalid()); break; + case WID_GO_REFRESH_RATE_DROPDOWN: SetDParam(0, _settings_client.gui.refresh_rate); break; + case WID_GO_RESOLUTION_DROPDOWN: { + auto current_resolution = GetCurrentResolutionIndex(); + + if (current_resolution == _resolutions.size()) { + SetDParam(0, STR_GAME_OPTIONS_RESOLUTION_OTHER); + } else { + SetDParam(0, STR_GAME_OPTIONS_RESOLUTION_ITEM); + SetDParam(1, _resolutions[current_resolution].width); + SetDParam(2, _resolutions[current_resolution].height); + } + break; + } } } @@ -383,6 +437,13 @@ struct GameOptionsWindow : Window { this->SetDirty(); break; + case WID_GO_VIDEO_ACCEL_BUTTON: + _video_hw_accel = !_video_hw_accel; + ShowErrorMessage(STR_GAME_OPTIONS_VIDEO_ACCELERATION_RESTART, INVALID_STRING_ID, WL_INFO); + this->SetWidgetLoweredState(WID_GO_VIDEO_ACCEL_BUTTON, _video_hw_accel); + this->SetDirty(); + break; + default: { int selected; DropDownList list = this->BuildDropDownList(widget, &selected); @@ -446,6 +507,16 @@ struct GameOptionsWindow : Window { } break; + case WID_GO_REFRESH_RATE_DROPDOWN: { + _settings_client.gui.refresh_rate = *std::next(_refresh_rates.begin(), index); + if (_settings_client.gui.refresh_rate > 60) { + /* Show warning to the user that this refresh rate might not be suitable on + * larger maps with many NewGRFs and vehicles. */ + ShowErrorMessage(STR_GAME_OPTIONS_REFRESH_RATE_WARNING, INVALID_STRING_ID, WL_INFO); + } + break; + } + case WID_GO_GUI_ZOOM_DROPDOWN: { int8 new_zoom = index > 0 ? ZOOM_LVL_OUT_4X - index + 1 : ZOOM_LVL_CFG_AUTO; if (new_zoom != _gui_zoom_cfg) { @@ -498,6 +569,7 @@ struct GameOptionsWindow : Window { { if (!gui_scope) return; this->SetWidgetLoweredState(WID_GO_FULLSCREEN_BUTTON, _fullscreen); + this->SetWidgetLoweredState(WID_GO_VIDEO_ACCEL_BUTTON, _video_hw_accel); bool missing_files = BaseGraphics::GetUsedSet()->GetNumMissing() == 0; this->GetWidget(WID_GO_BASE_GRF_STATUS)->SetDataTip(missing_files ? STR_EMPTY : STR_GAME_OPTIONS_BASE_GRF_STATUS, STR_NULL); @@ -524,32 +596,47 @@ static const NWidgetPart _nested_game_options_widgets[] = { NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_AUTOSAVE_FRAME, STR_NULL), NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_AUTOSAVE_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_TOOLTIP), SetFill(1, 0), EndContainer(), - NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_RESOLUTION, STR_NULL), - NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_RESOLUTION_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_RESOLUTION_TOOLTIP), SetFill(1, 0), SetPadding(0, 0, 3, 0), - NWidget(NWID_HORIZONTAL), - NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalSize(0, 12), SetFill(1, 0), SetDataTip(STR_GAME_OPTIONS_FULLSCREEN, STR_NULL), - 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(), + 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(), EndContainer(), NWidget(NWID_VERTICAL), SetPIP(0, 6, 0), 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_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), NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_FONT_ZOOM, STR_NULL), NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_FONT_ZOOM_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_FONT_ZOOM_DROPDOWN_TOOLTIP), SetFill(1, 0), EndContainer(), EndContainer(), EndContainer(), + NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_GRAPHICS, STR_NULL), SetPadding(0, 10, 0, 10), + NWidget(NWID_HORIZONTAL), + NWidget(NWID_VERTICAL), + NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalSize(0, 12), SetFill(1, 0), SetDataTip(STR_GAME_OPTIONS_RESOLUTION, STR_NULL), SetPadding(0, 0, 2, 0), + NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalSize(0, 12), SetFill(1, 0), SetDataTip(STR_GAME_OPTIONS_REFRESH_RATE, STR_NULL), SetPadding(0, 0, 2, 0), + NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalSize(0, 12), SetFill(1, 0), SetDataTip(STR_GAME_OPTIONS_FULLSCREEN, STR_NULL), SetPadding(0, 0, 2, 0), + NWidget(WWT_TEXT, COLOUR_GREY), SetMinimalSize(0, 12), SetFill(1, 0), SetDataTip(STR_GAME_OPTIONS_VIDEO_ACCELERATION, STR_NULL), + EndContainer(), + NWidget(NWID_VERTICAL), + NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_RESOLUTION_DROPDOWN), SetMinimalSize(100, 12), SetDataTip(STR_BLACK_STRING, STR_GAME_OPTIONS_RESOLUTION_TOOLTIP), SetFill(1, 0), SetPadding(0, 0, 2, 0), + NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_REFRESH_RATE_DROPDOWN), SetMinimalSize(100, 12), SetDataTip(STR_GAME_OPTIONS_REFRESH_RATE_ITEM, STR_GAME_OPTIONS_REFRESH_RATE_TOOLTIP), SetFill(1, 0), SetPadding(0, 0, 2, 0), + NWidget(NWID_HORIZONTAL), SetPadding(0, 0, 2, 0), + NWidget(NWID_SPACER), SetMinimalSize(1, 0), SetFill(1, 0), + NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_GO_FULLSCREEN_BUTTON), SetMinimalSize(21, 9), SetDataTip(STR_EMPTY, STR_GAME_OPTIONS_FULLSCREEN_TOOLTIP), + EndContainer(), + NWidget(NWID_HORIZONTAL), + NWidget(NWID_SPACER), SetMinimalSize(1, 0), SetFill(1, 0), + NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_GO_VIDEO_ACCEL_BUTTON), SetMinimalSize(21, 9), SetDataTip(STR_EMPTY, STR_GAME_OPTIONS_VIDEO_ACCELERATION_TOOLTIP), + EndContainer(), + EndContainer(), + EndContainer(), + EndContainer(), + NWidget(WWT_FRAME, COLOUR_GREY), SetDataTip(STR_GAME_OPTIONS_BASE_GRF, STR_NULL), SetPadding(0, 10, 0, 10), NWidget(NWID_HORIZONTAL), SetPIP(0, 30, 0), NWidget(WWT_DROPDOWN, COLOUR_GREY, WID_GO_BASE_GRF_DROPDOWN), SetMinimalSize(150, 12), SetDataTip(STR_BLACK_RAW_STRING, STR_GAME_OPTIONS_BASE_GRF_TOOLTIP), @@ -1487,6 +1574,7 @@ static SettingsContainer &GetSettingsTree() { graphics->Add(new SettingEntry("gui.zoom_min")); graphics->Add(new SettingEntry("gui.zoom_max")); + graphics->Add(new SettingEntry("gui.sprite_zoom_min")); graphics->Add(new SettingEntry("gui.shade_trees_on_slopes")); graphics->Add(new SettingEntry("gui.smallmap_land_colour")); graphics->Add(new SettingEntry("gui.linkgraph_colours")); diff --git a/src/settings_type.h b/src/settings_type.h index 307229cf95..04fba2df0e 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -129,6 +129,7 @@ struct GUISettings : public TimeSettings { uint8 window_soft_limit; ///< soft limit of maximum number of non-stickied non-vital windows (0 = no limit) ZoomLevel zoom_min; ///< minimum zoom out level ZoomLevel zoom_max; ///< maximum zoom out level + ZoomLevel sprite_zoom_min; ///< maximum zoom level at which higher-resolution alternative sprites will be used (if available) instead of scaling a lower resolution sprite byte autosave; ///< how often should we do autosaves? bool threaded_saves; ///< should we do threaded saves? bool keep_all_autosave; ///< name the autosave in a different way diff --git a/src/signs_gui.cpp b/src/signs_gui.cpp index e3b270fbfd..ea55488cc7 100644 --- a/src/signs_gui.cpp +++ b/src/signs_gui.cpp @@ -357,29 +357,29 @@ HotkeyList SignListWindow::hotkeys("signlist", signlist_hotkeys, SignListGlobalH static const NWidgetPart _nested_sign_list_widgets[] = { NWidget(NWID_HORIZONTAL), - NWidget(WWT_CLOSEBOX, COLOUR_GREY), - NWidget(WWT_CAPTION, COLOUR_GREY, WID_SIL_CAPTION), SetDataTip(STR_SIGN_LIST_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), - NWidget(WWT_SHADEBOX, COLOUR_GREY), - NWidget(WWT_DEFSIZEBOX, COLOUR_GREY), - NWidget(WWT_STICKYBOX, COLOUR_GREY), + NWidget(WWT_CLOSEBOX, COLOUR_BROWN), + NWidget(WWT_CAPTION, COLOUR_BROWN, WID_SIL_CAPTION), SetDataTip(STR_SIGN_LIST_CAPTION, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS), + NWidget(WWT_SHADEBOX, COLOUR_BROWN), + NWidget(WWT_DEFSIZEBOX, COLOUR_BROWN), + NWidget(WWT_STICKYBOX, COLOUR_BROWN), EndContainer(), NWidget(NWID_HORIZONTAL), NWidget(NWID_VERTICAL), - NWidget(WWT_PANEL, COLOUR_GREY, WID_SIL_LIST), SetMinimalSize(WD_FRAMETEXT_LEFT + 16 + 255 + WD_FRAMETEXT_RIGHT, 50), + NWidget(WWT_PANEL, COLOUR_BROWN, WID_SIL_LIST), SetMinimalSize(WD_FRAMETEXT_LEFT + 16 + 255 + WD_FRAMETEXT_RIGHT, 50), SetResize(1, 10), SetFill(1, 0), SetScrollbar(WID_SIL_SCROLLBAR), EndContainer(), NWidget(NWID_HORIZONTAL), - NWidget(WWT_PANEL, COLOUR_GREY), SetFill(1, 1), - NWidget(WWT_EDITBOX, COLOUR_GREY, WID_SIL_FILTER_TEXT), SetMinimalSize(80, 12), SetResize(1, 0), SetFill(1, 0), SetPadding(2, 2, 2, 2), + NWidget(WWT_PANEL, COLOUR_BROWN), SetFill(1, 1), + NWidget(WWT_EDITBOX, COLOUR_BROWN, WID_SIL_FILTER_TEXT), SetMinimalSize(80, 12), SetResize(1, 0), SetFill(1, 0), SetPadding(2, 2, 2, 2), SetDataTip(STR_LIST_FILTER_OSKTITLE, STR_LIST_FILTER_TOOLTIP), EndContainer(), - NWidget(WWT_TEXTBTN, COLOUR_GREY, WID_SIL_FILTER_MATCH_CASE_BTN), SetDataTip(STR_SIGN_LIST_MATCH_CASE, STR_SIGN_LIST_MATCH_CASE_TOOLTIP), + NWidget(WWT_TEXTBTN, COLOUR_BROWN, WID_SIL_FILTER_MATCH_CASE_BTN), SetDataTip(STR_SIGN_LIST_MATCH_CASE, STR_SIGN_LIST_MATCH_CASE_TOOLTIP), EndContainer(), EndContainer(), NWidget(NWID_VERTICAL), NWidget(NWID_VERTICAL), SetFill(0, 1), - NWidget(NWID_VSCROLLBAR, COLOUR_GREY, WID_SIL_SCROLLBAR), + NWidget(NWID_VSCROLLBAR, COLOUR_BROWN, WID_SIL_SCROLLBAR), EndContainer(), - NWidget(WWT_RESIZEBOX, COLOUR_GREY), + NWidget(WWT_RESIZEBOX, COLOUR_BROWN), EndContainer(), EndContainer(), }; diff --git a/src/sound_type.h b/src/sound_type.h index ffbc9b95d9..dbfa905ecd 100644 --- a/src/sound_type.h +++ b/src/sound_type.h @@ -39,7 +39,7 @@ enum SoundFx { SND_02_CONSTRUCTION_WATER = 0, ///< 0 == 0x00 Construction: water infrastructure SND_03_FACTORY, ///< 1 == 0x01 Industry producing: factory: whistle SND_04_DEPARTURE_STEAM, ///< 2 == 0x02 Station departure: steam engine - SND_05_TRAIN_THROUGH_TUNNEL, ///< 3 == 0x03 Train enters tunnel + SND_05_TRAIN_THROUGH_TUNNEL, ///< 3 == 0x03 Train enters tunnel: steam engine SND_06_DEPARTURE_CARGO_SHIP, ///< 4 == 0x04 Station departure: cargo ships SND_07_DEPARTURE_FERRY, ///< 5 == 0x05 Station departure: passenger ships SND_08_TAKEOFF_PROPELLER, ///< 6 == 0x06 Takeoff: propeller plane (non-toyland) diff --git a/src/spriteloader/grf.cpp b/src/spriteloader/grf.cpp index e4ddcf8bd4..7133a34d1c 100644 --- a/src/spriteloader/grf.cpp +++ b/src/spriteloader/grf.cpp @@ -11,6 +11,7 @@ #include "../gfx_func.h" #include "../fileio_func.h" #include "../debug.h" +#include "../settings_type.h" #include "../strings_func.h" #include "table/strings.h" #include "../error.h" @@ -269,7 +270,16 @@ uint8 LoadSpriteV2(SpriteLoader::Sprite *sprite, uint file_slot, size_t file_pos byte colour = type & SCC_MASK; byte zoom = FioReadByte(); - if (colour != 0 && (load_32bpp ? colour != SCC_PAL : colour == SCC_PAL) && (sprite_type != ST_MAPGEN ? zoom < lengthof(zoom_lvl_map) : zoom == 0)) { + bool is_wanted_colour_depth = (colour != 0 && (load_32bpp ? colour != SCC_PAL : colour == SCC_PAL)); + bool is_wanted_zoom_lvl; + + if (sprite_type != ST_MAPGEN) { + is_wanted_zoom_lvl = (zoom < lengthof(zoom_lvl_map) && zoom_lvl_map[zoom] >= _settings_client.gui.sprite_zoom_min); + } else { + is_wanted_zoom_lvl = (zoom == 0); + } + + if (is_wanted_colour_depth && is_wanted_zoom_lvl) { ZoomLevel zoom_lvl = (sprite_type != ST_MAPGEN) ? zoom_lvl_map[zoom] : ZOOM_LVL_NORMAL; if (HasBit(loaded_sprites, zoom_lvl)) { diff --git a/src/strings.cpp b/src/strings.cpp index bc3dd66418..60f028a182 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -2020,22 +2020,6 @@ static char *GetSpecialNameString(char *buff, int ind, StringParameters *args, c return strecpy(buff, " Transport", last); } - /* language name? */ - if (IsInsideMM(ind, (SPECSTR_LANGUAGE_START - 0x70E4), (SPECSTR_LANGUAGE_END - 0x70E4) + 1)) { - int i = ind - (SPECSTR_LANGUAGE_START - 0x70E4); - return strecpy(buff, - &_languages[i] == _current_language ? _current_language->own_name : _languages[i].name, last); - } - - /* resolution size? */ - if (IsInsideBS(ind, (SPECSTR_RESOLUTION_START - 0x70E4), _resolutions.size())) { - int i = ind - (SPECSTR_RESOLUTION_START - 0x70E4); - buff += seprintf( - buff, last, "%ux%u", _resolutions[i].width, _resolutions[i].height - ); - return buff; - } - NOT_REACHED(); } diff --git a/src/strings_type.h b/src/strings_type.h index 41ddfa957e..7ad0c71265 100644 --- a/src/strings_type.h +++ b/src/strings_type.h @@ -86,13 +86,6 @@ enum SpecialStrings { SPECSTR_SILLY_NAME = 0x70E5, SPECSTR_ANDCO_NAME = 0x70E6, SPECSTR_PRESIDENT_NAME = 0x70E7, - - /* reserve MAX_LANG strings for the *.lng files */ - SPECSTR_LANGUAGE_START = 0x7100, - SPECSTR_LANGUAGE_END = SPECSTR_LANGUAGE_START + MAX_LANG - 1, - - /* reserve strings for various screen resolutions MUST BE THE LAST VALUE IN THIS ENUM */ - SPECSTR_RESOLUTION_START = SPECSTR_LANGUAGE_END + 1, }; #endif /* STRINGS_TYPE_H */ diff --git a/src/table/misc_settings.ini b/src/table/misc_settings.ini index 4230249606..98b79c6616 100644 --- a/src/table/misc_settings.ini +++ b/src/table/misc_settings.ini @@ -12,6 +12,9 @@ static const char *_support8bppmodes = "no|system|hardware"; #ifdef WITH_COCOA extern bool _allow_hidpi_window; #endif +#ifndef WITH_COCOA +#define WITHOUT_COCOA +#endif static const SettingDescGlobVarList _misc_settings[] = { [post-amble] @@ -68,6 +71,20 @@ var = _fullscreen def = false cat = SC_BASIC +[SDTG_BOOL] +ifdef = WITH_COCOA +name = ""video_hw_accel"" +var = _video_hw_accel +def = false +cat = SC_BASIC + +[SDTG_BOOL] +ifdef = WITHOUT_COCOA +name = ""video_hw_accel"" +var = _video_hw_accel +def = true +cat = SC_BASIC + [SDTG_OMANY] name = ""support8bpp"" type = SLE_UINT8 diff --git a/src/table/road_land.h b/src/table/road_land.h index 67423784a2..df38f935d5 100644 --- a/src/table/road_land.h +++ b/src/table/road_land.h @@ -62,11 +62,11 @@ static const SpriteID _road_tile_sprites_1[16] = { 0x543, 0x53C, 0x535, 0x538, 0x53D, 0x537, 0x53A, 0x536 }; -static const SpriteID _road_frontwire_sprites_1[16] = { +static const SpriteID _road_backpole_sprites_1[16] = { 0, 0x54, 0x55, 0x5B, 0x54, 0x54, 0x5E, 0x5A, 0x55, 0x5C, 0x55, 0x58, 0x5D, 0x57, 0x59, 0x56 }; -static const SpriteID _road_backpole_sprites_1[16] = { +static const SpriteID _road_frontwire_sprites_1[16] = { 0, 0x38, 0x39, 0x40, 0x38, 0x38, 0x43, 0x3E, 0x39, 0x41, 0x39, 0x3C, 0x42, 0x3B, 0x3D, 0x3A }; diff --git a/src/table/settings.ini b/src/table/settings.ini index fa3812aced..748af3c4b4 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -49,6 +49,7 @@ static bool RedrawTownAuthority(int32 p1); static bool InvalidateCompanyInfrastructureWindow(int32 p1); static bool InvalidateCompanyWindow(int32 p1); static bool ZoomMinMaxChanged(int32 p1); +static bool SpriteZoomMinChanged(int32 p1); static bool InvalidateSettingsWindow(int32 p1); static bool MaxVehiclesChanged(int32 p1); static bool InvalidateShipPathCache(int32 p1); @@ -4306,6 +4307,19 @@ strval = STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X proc = ZoomMinMaxChanged startup = true +[SDTC_VAR] +var = gui.sprite_zoom_min +type = SLE_UINT8 +flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC +guiflags = SGF_MULTISTRING +def = ZOOM_LVL_MIN +min = ZOOM_LVL_MIN +max = ZOOM_LVL_OUT_4X +str = STR_CONFIG_SETTING_SPRITE_ZOOM_MIN +strhelp = STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT +strval = STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN +proc = SpriteZoomMinChanged + [SDTC_BOOL] var = gui.population_in_label flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC diff --git a/src/table/sprites.h b/src/table/sprites.h index 97d1a6df66..eb29791009 100644 --- a/src/table/sprites.h +++ b/src/table/sprites.h @@ -276,8 +276,8 @@ static const SpriteID SPR_TRAMWAY_PAVED_STRAIGHT_X = SPR_TRAMWAY_BASE + 47; static const SpriteID SPR_TRAMWAY_DEPOT_WITH_TRACK = SPR_TRAMWAY_BASE + 49; static const SpriteID SPR_TRAMWAY_BACK_WIRES_STRAIGHT = SPR_TRAMWAY_BASE + 55; static const SpriteID SPR_TRAMWAY_FRONT_WIRES_STRAIGHT = SPR_TRAMWAY_BASE + 56; -static const SpriteID SPR_TRAMWAY_BACK_WIRES_SLOPED = SPR_TRAMWAY_BASE + 72; -static const SpriteID SPR_TRAMWAY_FRONT_WIRES_SLOPED = SPR_TRAMWAY_BASE + 68; +static const SpriteID SPR_TRAMWAY_BACK_WIRES_SLOPED = SPR_TRAMWAY_BASE + 68; +static const SpriteID SPR_TRAMWAY_FRONT_WIRES_SLOPED = SPR_TRAMWAY_BASE + 72; static const SpriteID SPR_TRAMWAY_TUNNEL_WIRES = SPR_TRAMWAY_BASE + 80; static const SpriteID SPR_TRAMWAY_BRIDGE = SPR_TRAMWAY_BASE + 107; static const SpriteID SPR_TRAMWAY_DEPOT_NO_TRACK = SPR_TRAMWAY_BASE + 113; diff --git a/src/thread.h b/src/thread.h index 35e3bf0a6f..7e8b1016e8 100644 --- a/src/thread.h +++ b/src/thread.h @@ -11,16 +11,13 @@ #define THREAD_H #include "debug.h" +#include "crashlog.h" #include #include #if defined(__MINGW32__) #include "3rdparty/mingw-std-threads/mingw.thread.h" #endif -/** Signal used for signalling we knowingly want to end the thread. */ -class OTTDThreadExitSignal { }; - - /** * Sleep on the current thread for a defined time. * @param milliseconds Time to sleep for in milliseconds. @@ -88,10 +85,10 @@ inline bool StartNewThread(std::thread *thr, const char *name, TFn&& _Fx, TArgs& std::thread t([] (const char *name, TFn&& F, TArgs&&... A) { SetCurrentThreadName(name); PerThreadSetup(); + CrashLog::InitThread(); try { /* Call user function with the given arguments. */ F(A...); - } catch (OTTDThreadExitSignal&) { } catch (...) { NOT_REACHED(); } diff --git a/src/tree_cmd.cpp b/src/tree_cmd.cpp index 5c9e0af435..8de5888d70 100644 --- a/src/tree_cmd.cpp +++ b/src/tree_cmd.cpp @@ -229,6 +229,7 @@ static void PlaceTree(TileIndex tile, uint32 r) if (tree != TREE_INVALID) { PlantTreesOnTile(tile, tree, GB(r, 22, 2), std::min(GB(r, 16, 3), 6)); + MarkTileDirtyByTile(tile); /* Rerandomize ground, if neither snow nor shore */ TreeGround ground = GetTreeGround(tile); diff --git a/src/video/allegro_v.cpp b/src/video/allegro_v.cpp index a44c81c20d..7c20f45e82 100644 --- a/src/video/allegro_v.cpp +++ b/src/video/allegro_v.cpp @@ -236,6 +236,16 @@ bool VideoDriver_Allegro::ClaimMousePointer() return true; } +std::vector VideoDriver_Allegro::GetListOfMonitorRefreshRates() +{ + std::vector rates = {}; + + int refresh_rate = get_refresh_rate(); + if (refresh_rate != 0) rates.push_back(refresh_rate); + + return rates; +} + struct AllegroVkMapping { uint16 vk_from; byte vk_count; @@ -412,7 +422,7 @@ bool VideoDriver_Allegro::PollEvent() */ int _allegro_instance_count = 0; -const char *VideoDriver_Allegro::Start(const StringList &parm) +const char *VideoDriver_Allegro::Start(const StringList ¶m) { if (_allegro_instance_count == 0 && install_allegro(SYSTEM_AUTODETECT, &errno, nullptr)) { DEBUG(driver, 0, "allegro: install_allegro failed '%s'", allegro_error); @@ -440,6 +450,8 @@ const char *VideoDriver_Allegro::Start(const StringList &parm) MarkWholeScreenDirty(); set_close_button_callback(HandleExitGameRequest); + this->is_game_threaded = !GetDriverParamBool(param, "no_threads") && !GetDriverParamBool(param, "no_thread"); + return nullptr; } @@ -477,14 +489,16 @@ void VideoDriver_Allegro::InputLoop() void VideoDriver_Allegro::MainLoop() { - for (;;) { - if (_exit_game) return; + this->StartGameThread(); - if (this->Tick()) { - this->Paint(); - } + for (;;) { + if (_exit_game) break; + + this->Tick(); this->SleepTillNextTick(); } + + this->StopGameThread(); } bool VideoDriver_Allegro::ChangeResolution(int w, int h) diff --git a/src/video/allegro_v.h b/src/video/allegro_v.h index d67778b7f5..d1576fea9e 100644 --- a/src/video/allegro_v.h +++ b/src/video/allegro_v.h @@ -31,6 +31,8 @@ public: bool ClaimMousePointer() override; + std::vector GetListOfMonitorRefreshRates() override; + const char *GetName() const override { return "allegro"; } protected: diff --git a/src/video/cocoa/cocoa_ogl.h b/src/video/cocoa/cocoa_ogl.h index be5d731136..fe8490932d 100644 --- a/src/video/cocoa/cocoa_ogl.h +++ b/src/video/cocoa/cocoa_ogl.h @@ -33,6 +33,8 @@ public: void ClearSystemSprites() override; + void PopulateSystemSprites() override; + bool HasAnimBuffer() override { return true; } uint8 *GetAnimBuffer() override { return this->anim_buffer; } @@ -54,6 +56,9 @@ class FVideoDriver_CocoaOpenGL : public DriverFactoryBase { public: FVideoDriver_CocoaOpenGL() : DriverFactoryBase(Driver::DT_VIDEO, 9, "cocoa-opengl", "Cocoa OpenGL Video Driver") {} Driver *CreateInstance() const override { return new VideoDriver_CocoaOpenGL(); } + +protected: + bool UsesHardwareAcceleration() const override { return true; } }; #endif /* VIDEO_COCOA_OGL_H */ diff --git a/src/video/cocoa/cocoa_ogl.mm b/src/video/cocoa/cocoa_ogl.mm index 915f437790..8d02428e0c 100644 --- a/src/video/cocoa/cocoa_ogl.mm +++ b/src/video/cocoa/cocoa_ogl.mm @@ -214,6 +214,8 @@ const char *VideoDriver_CocoaOpenGL::Start(const StringList ¶m) this->UpdateVideoModes(); MarkWholeScreenDirty(); + this->is_game_threaded = !GetDriverParamBool(param, "no_threads") && !GetDriverParamBool(param, "no_thread"); + return nullptr; } @@ -227,6 +229,11 @@ void VideoDriver_CocoaOpenGL::Stop() CGLReleaseContext(this->gl_context); } +void VideoDriver_CocoaOpenGL::PopulateSystemSprites() +{ + OpenGLBackend::Get()->PopulateCursorCache(); +} + void VideoDriver_CocoaOpenGL::ClearSystemSprites() { CGLSetCurrentContext(this->gl_context); @@ -265,7 +272,7 @@ void VideoDriver_CocoaOpenGL::AllocateBackingStore(bool force) CGLSetCurrentContext(this->gl_context); NSRect frame = [ this->cocoaview getRealRect:[ this->cocoaview frame ] ]; OpenGLBackend::Get()->Resize(frame.size.width, frame.size.height, force); - _screen.dst_ptr = this->GetVideoPointer(); + if (this->buffer_locked) _screen.dst_ptr = this->GetVideoPointer(); this->dirty_rect = {}; /* Redraw screen */ diff --git a/src/video/cocoa/cocoa_v.h b/src/video/cocoa/cocoa_v.h index a32c7065d9..3d3db5454c 100644 --- a/src/video/cocoa/cocoa_v.h +++ b/src/video/cocoa/cocoa_v.h @@ -47,6 +47,8 @@ public: void EditBoxLostFocus() override; + std::vector GetListOfMonitorRefreshRates() override; + /* --- The following methods should be private, but can't be due to Obj-C limitations. --- */ void MainLoopReal(); @@ -122,7 +124,7 @@ protected: class FVideoDriver_CocoaQuartz : public DriverFactoryBase { public: - FVideoDriver_CocoaQuartz() : DriverFactoryBase(Driver::DT_VIDEO, 10, "cocoa", "Cocoa Video Driver") {} + FVideoDriver_CocoaQuartz() : DriverFactoryBase(Driver::DT_VIDEO, 8, "cocoa", "Cocoa Video Driver") {} Driver *CreateInstance() const override { return new VideoDriver_CocoaQuartz(); } }; diff --git a/src/video/cocoa/cocoa_v.mm b/src/video/cocoa/cocoa_v.mm index 1504e23cb6..f01b7d193e 100644 --- a/src/video/cocoa/cocoa_v.mm +++ b/src/video/cocoa/cocoa_v.mm @@ -43,6 +43,7 @@ #import /* for MAXPATHLEN */ #import /* gettimeofday */ +#include /** * Important notice regarding all modifications!!!!!!! @@ -201,6 +202,7 @@ bool VideoDriver_Cocoa::ToggleFullscreen(bool full_screen) [ NSMenu setMenuBarVisible:!full_screen ]; this->UpdateVideoModes(); + this->InvalidateGameOptionsWindow(); return true; } @@ -213,7 +215,7 @@ bool VideoDriver_Cocoa::ToggleFullscreen(bool full_screen) */ bool VideoDriver_Cocoa::AfterBlitterChange() { - this->ChangeResolution(_cur_resolution.width, _cur_resolution.height); + this->AllocateBackingStore(true); return true; } @@ -224,7 +226,31 @@ void VideoDriver_Cocoa::EditBoxLostFocus() { [ [ this->cocoaview inputContext ] discardMarkedText ]; /* Clear any marked string from the current edit box. */ - HandleTextInput(NULL, true); + HandleTextInput(nullptr, true); +} + +/** + * Get refresh rates of all connected monitors. + */ +std::vector VideoDriver_Cocoa::GetListOfMonitorRefreshRates() +{ + std::vector rates{}; + + if (MacOSVersionIsAtLeast(10, 6, 0)) { + std::array displays; + + uint32_t count = 0; + CGGetActiveDisplayList(displays.size(), displays.data(), &count); + + for (uint32_t i = 0; i < count; i++) { + CGDisplayModeRef mode = CGDisplayCopyDisplayMode(displays[i]); + int rate = (int)CGDisplayModeGetRefreshRate(mode); + if (rate > 0) rates.push_back(rate); + CGDisplayModeRelease(mode); + } + } + + return rates; } /** @@ -436,6 +462,8 @@ void VideoDriver_Cocoa::InputLoop() /** Main game loop. */ void VideoDriver_Cocoa::MainLoopReal() { + this->StartGameThread(); + for (;;) { @autoreleasepool { if (_exit_game) { @@ -444,12 +472,12 @@ void VideoDriver_Cocoa::MainLoopReal() break; } - if (this->Tick()) { - this->Paint(); - } + this->Tick(); this->SleepTillNextTick(); } } + + this->StopGameThread(); } @@ -561,6 +589,8 @@ const char *VideoDriver_CocoaQuartz::Start(const StringList ¶m) this->GameSizeChanged(); this->UpdateVideoModes(); + this->is_game_threaded = !GetDriverParamBool(param, "no_threads") && !GetDriverParamBool(param, "no_thread"); + return nullptr; } diff --git a/src/video/cocoa/cocoa_wnd.mm b/src/video/cocoa/cocoa_wnd.mm index d5a7ba84ce..825130006e 100644 --- a/src/video/cocoa/cocoa_wnd.mm +++ b/src/video/cocoa/cocoa_wnd.mm @@ -700,9 +700,9 @@ void CocoaDialog(const char *title, const char *message, const char *buttonLabel 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); + DEBUG(driver, 3, "cocoa_v: QZ_KeyEvent: %x (%x), down, mapping: %x", keycode, unicode, pressed_key); } else { - DEBUG(driver, 2, "cocoa_v: QZ_KeyEvent: %x (%x), up", keycode, unicode); + DEBUG(driver, 3, "cocoa_v: QZ_KeyEvent: %x (%x), up", keycode, unicode); } return interpret_keys; diff --git a/src/video/dedicated_v.cpp b/src/video/dedicated_v.cpp index 22b9dbb1ab..e905a9d2c9 100644 --- a/src/video/dedicated_v.cpp +++ b/src/video/dedicated_v.cpp @@ -251,28 +251,22 @@ void VideoDriver_Dedicated::MainLoop() /* If SwitchMode is SM_LOAD_GAME, it means that the user used the '-g' options */ if (_switch_mode != SM_LOAD_GAME) { StartNewGameWithoutGUI(GENERATE_NEW_SEED); - SwitchToMode(_switch_mode); - _switch_mode = SM_NONE; } else { - _switch_mode = SM_NONE; /* First we need to test if the savegame can be loaded, else we will end up playing the * intro game... */ - if (!SafeLoad(_file_to_saveload.name, _file_to_saveload.file_op, _file_to_saveload.detail_ftype, GM_NORMAL, BASE_DIR)) { + if (SaveOrLoad(_file_to_saveload.name, _file_to_saveload.file_op, _file_to_saveload.detail_ftype, BASE_DIR) == SL_ERROR) { /* Loading failed, pop out.. */ DEBUG(net, 0, "Loading requested map failed, aborting"); - _networking = false; + return; } else { /* We can load this game, so go ahead */ - SwitchToMode(SM_LOAD_GAME); + _switch_mode = SM_LOAD_GAME; } } - /* Done loading, start game! */ + this->is_game_threaded = false; - if (!_networking) { - DEBUG(net, 0, "Dedicated server could not be started, aborting"); - return; - } + /* Done loading, start game! */ while (!_exit_game) { if (!_dedicated_forks) DedicatedHandleKeyInput(); diff --git a/src/video/null_v.cpp b/src/video/null_v.cpp index 9094a49319..21e727da0e 100644 --- a/src/video/null_v.cpp +++ b/src/video/null_v.cpp @@ -50,17 +50,17 @@ void VideoDriver_Null::MainLoop() { if (this->until_exit) { while (!_exit_game) { - GameLoop(); - GameLoopPaletteAnimations(); - InputLoop(); - UpdateWindows(); + ::GameLoop(); + ::GameLoopPaletteAnimations(); + ::InputLoop(); + ::UpdateWindows(); } } else { for (int i = 0; i < this->ticks; i++) { - GameLoop(); - GameLoopPaletteAnimations(); - InputLoop(); - UpdateWindows(); + ::GameLoop(); + ::GameLoopPaletteAnimations(); + ::InputLoop(); + ::UpdateWindows(); } } } diff --git a/src/video/opengl.cpp b/src/video/opengl.cpp index 60f2a1bcd0..26f6f4b4dc 100644 --- a/src/video/opengl.cpp +++ b/src/video/opengl.cpp @@ -1036,7 +1036,36 @@ void OpenGLBackend::DrawMouseCursor() _cur_dpi = &_screen; for (uint i = 0; i < _cursor.sprite_count; ++i) { SpriteID sprite = _cursor.sprite_seq[i].sprite; - const Sprite *spr = GetSprite(sprite, ST_NORMAL); + + /* Sprites are cached by PopulateCursorCache(). */ + if (this->cursor_cache.Contains(sprite)) { + const Sprite *spr = GetSprite(sprite, ST_NORMAL); + + this->RenderOglSprite((OpenGLSprite *)this->cursor_cache.Get(sprite)->data, _cursor.sprite_seq[i].pal, + _cursor.pos.x + _cursor.sprite_pos[i].x + UnScaleByZoom(spr->x_offs, ZOOM_LVL_GUI), + _cursor.pos.y + _cursor.sprite_pos[i].y + UnScaleByZoom(spr->y_offs, ZOOM_LVL_GUI), + ZOOM_LVL_GUI); + } + } +} + +void OpenGLBackend::PopulateCursorCache() +{ + if (this->clear_cursor_cache) { + /* We have a pending cursor cache clear to do first. */ + this->clear_cursor_cache = false; + this->last_sprite_pal = (PaletteID)-1; + + Sprite *sp; + while ((sp = this->cursor_cache.Pop()) != nullptr) { + OpenGLSprite *sprite = (OpenGLSprite *)sp->data; + sprite->~OpenGLSprite(); + free(sp); + } + } + + for (uint i = 0; i < _cursor.sprite_count; ++i) { + SpriteID sprite = _cursor.sprite_seq[i].sprite; if (!this->cursor_cache.Contains(sprite)) { Sprite *old = this->cursor_cache.Insert(sprite, (Sprite *)GetRawSprite(sprite, ST_NORMAL, &SimpleSpriteAlloc, this)); @@ -1046,11 +1075,6 @@ void OpenGLBackend::DrawMouseCursor() free(old); } } - - this->RenderOglSprite((OpenGLSprite *)this->cursor_cache.Get(sprite)->data, _cursor.sprite_seq[i].pal, - _cursor.pos.x + _cursor.sprite_pos[i].x + UnScaleByZoom(spr->x_offs, ZOOM_LVL_GUI), - _cursor.pos.y + _cursor.sprite_pos[i].y + UnScaleByZoom(spr->y_offs, ZOOM_LVL_GUI), - ZOOM_LVL_GUI); } } @@ -1059,14 +1083,11 @@ void OpenGLBackend::DrawMouseCursor() */ void OpenGLBackend::ClearCursorCache() { - this->last_sprite_pal = (PaletteID)-1; - - Sprite *sp; - while ((sp = this->cursor_cache.Pop()) != nullptr) { - OpenGLSprite *sprite = (OpenGLSprite *)sp->data; - sprite->~OpenGLSprite(); - free(sp); - } + /* If the game loop is threaded, this function might be called + * from the game thread. As we can call OpenGL functions only + * on the main thread, just set a flag that is handled the next + * time we prepare the cursor cache for drawing. */ + this->clear_cursor_cache = true; } /** diff --git a/src/video/opengl.h b/src/video/opengl.h index b66d585e54..c17a8536d9 100644 --- a/src/video/opengl.h +++ b/src/video/opengl.h @@ -63,6 +63,7 @@ private: LRUCache cursor_cache; ///< Cache of encoded cursor sprites. PaletteID last_sprite_pal = (PaletteID)-1; ///< Last uploaded remap palette. + bool clear_cursor_cache = false; ///< A clear of the cursor cache is pending. OpenGLBackend(); ~OpenGLBackend(); @@ -88,6 +89,7 @@ public: void Paint(); void DrawMouseCursor(); + void PopulateCursorCache(); void ClearCursorCache(); void *GetVideoBuffer(); diff --git a/src/video/sdl2_default_v.cpp b/src/video/sdl2_default_v.cpp index 50cd0ff64a..bfd571277f 100644 --- a/src/video/sdl2_default_v.cpp +++ b/src/video/sdl2_default_v.cpp @@ -111,13 +111,7 @@ void VideoDriver_SDL_Default::Paint() break; case Blitter::PALETTE_ANIMATION_BLITTER: { - bool need_buf = _screen.dst_ptr == nullptr; - if (need_buf) _screen.dst_ptr = this->GetVideoPointer(); blitter->PaletteAnimate(this->local_palette); - if (need_buf) { - this->ReleaseVideoPointer(); - _screen.dst_ptr = nullptr; - } break; } @@ -140,22 +134,6 @@ void VideoDriver_SDL_Default::Paint() this->dirty_rect = {}; } -void VideoDriver_SDL_Default::PaintThread() -{ - /* First tell the main thread we're started */ - std::unique_lock lock(*this->draw_mutex); - this->draw_signal->notify_one(); - - /* Now wait for the first thing to draw! */ - this->draw_signal->wait(*this->draw_mutex); - - while (this->draw_continue) { - /* Then just draw and wait till we stop */ - this->Paint(); - this->draw_signal->wait(lock); - } -} - bool VideoDriver_SDL_Default::AllocateBackingStore(int w, int h, bool force) { int bpp = BlitterFactory::GetCurrentBlitter()->GetScreenDepth(); diff --git a/src/video/sdl2_default_v.h b/src/video/sdl2_default_v.h index 1b67be5d39..3e1e3b894c 100644 --- a/src/video/sdl2_default_v.h +++ b/src/video/sdl2_default_v.h @@ -21,7 +21,6 @@ protected: bool AllocateBackingStore(int w, int h, bool force = false) override; void *GetVideoPointer() override; void Paint() override; - void PaintThread() override; void ReleaseVideoPointer() override {} diff --git a/src/video/sdl2_opengl_v.cpp b/src/video/sdl2_opengl_v.cpp index e60203503b..9ba6c4e0b0 100644 --- a/src/video/sdl2_opengl_v.cpp +++ b/src/video/sdl2_opengl_v.cpp @@ -75,7 +75,6 @@ const char *VideoDriver_SDL_OpenGL::Start(const StringList ¶m) this->ClientSizeChanged(w, h, true); SDL_GL_SetSwapInterval(GetDriverParamBool(param, "vsync") ? 1 : 0); - this->draw_threaded = false; return nullptr; } @@ -115,6 +114,11 @@ const char *VideoDriver_SDL_OpenGL::AllocateContext() return OpenGLBackend::Create(&GetOGLProcAddressCallback); } +void VideoDriver_SDL_OpenGL::PopulateSystemSprites() +{ + OpenGLBackend::Get()->PopulateCursorCache(); +} + void VideoDriver_SDL_OpenGL::ClearSystemSprites() { OpenGLBackend::Get()->ClearCursorCache(); diff --git a/src/video/sdl2_opengl_v.h b/src/video/sdl2_opengl_v.h index a59233db6d..f749b1f459 100644 --- a/src/video/sdl2_opengl_v.h +++ b/src/video/sdl2_opengl_v.h @@ -24,6 +24,8 @@ public: void ClearSystemSprites() override; + void PopulateSystemSprites() override; + bool HasAnimBuffer() override { return true; } uint8 *GetAnimBuffer() override { return this->anim_buffer; } @@ -36,8 +38,6 @@ protected: void Paint() override; bool CreateMainWindow(uint w, uint h, uint flags) override; - void PaintThread() override {} - private: void *gl_context; ///< OpenGL context. uint8 *anim_buffer; ///< Animation buffer from OpenGL back-end. @@ -51,4 +51,7 @@ class FVideoDriver_SDL_OpenGL : public DriverFactoryBase { public: FVideoDriver_SDL_OpenGL() : DriverFactoryBase(Driver::DT_VIDEO, 8, "sdl-opengl", "SDL OpenGL Video Driver") {} /* virtual */ Driver *CreateInstance() const override { return new VideoDriver_SDL_OpenGL(); } + +protected: + bool UsesHardwareAcceleration() const override { return true; } }; diff --git a/src/video/sdl2_v.cpp b/src/video/sdl2_v.cpp index 4973477955..9527dc2e54 100644 --- a/src/video/sdl2_v.cpp +++ b/src/video/sdl2_v.cpp @@ -24,10 +24,6 @@ #include "sdl2_v.h" #include #include -#include -#if defined(__MINGW32__) -#include "../3rdparty/mingw-std-threads/mingw.mutex.h" -#endif #ifdef __EMSCRIPTEN__ # include # include @@ -264,11 +260,6 @@ void VideoDriver_SDL_Base::CheckPaletteAnim() this->MakeDirty(0, 0, _screen.width, _screen.height); } -/* static */ void VideoDriver_SDL_Base::PaintThreadThunk(VideoDriver_SDL_Base *drv) -{ - drv->PaintThread(); -} - static const Dimension default_resolutions[] = { { 640, 480 }, { 800, 600 }, @@ -516,6 +507,17 @@ void VideoDriver_SDL_Base::EditBoxLostFocus() HandleTextInput(nullptr, true); } +std::vector VideoDriver_SDL_Base::GetListOfMonitorRefreshRates() +{ + std::vector rates = {}; + for (int i = 0; i < SDL_GetNumVideoDisplays(); i++) { + SDL_DisplayMode mode = {}; + if (SDL_GetDisplayMode(i, 0, &mode) != 0) continue; + if (mode.refresh_rate != 0) rates.push_back(mode.refresh_rate); + } + return rates; +} + struct SDLVkMapping { SDL_Keycode vk_from; byte vk_count; @@ -873,14 +875,14 @@ const char *VideoDriver_SDL_Base::Initialize() return nullptr; } -const char *VideoDriver_SDL_Base::Start(const StringList &parm) +const char *VideoDriver_SDL_Base::Start(const StringList ¶m) { if (BlitterFactory::GetCurrentBlitter()->GetScreenDepth() == 0) return "Only real blitters supported"; const char *error = this->Initialize(); if (error != nullptr) return error; - this->startup_display = FindStartupDisplay(GetDriverParamInt(parm, "display", -1)); + this->startup_display = FindStartupDisplay(GetDriverParamInt(param, "display", -1)); if (!CreateMainSurface(_cur_resolution.width, _cur_resolution.height, false)) { return SDL_GetError(); @@ -891,25 +893,17 @@ const char *VideoDriver_SDL_Base::Start(const StringList &parm) MarkWholeScreenDirty(); - this->draw_threaded = !GetDriverParamBool(parm, "no_threads") && !GetDriverParamBool(parm, "no_thread"); - /* Wayland SDL video driver uses EGL to render the game. SDL created the - * EGL context from the main-thread, and with EGL you are not allowed to - * draw in another thread than the context was created. The function of - * draw_threaded is to do exactly this: draw in another thread than the - * window was created, and as such, this fails on Wayland SDL video - * driver. So, we disable threading by default if Wayland SDL video - * driver is detected. - */ - if (strcmp(dname, "wayland") == 0) { - this->draw_threaded = false; - } - SDL_StopTextInput(); this->edit_box_focused = false; #if defined(WITH_FCITX) if (_fcitx_mode) SDL_EventState(SDL_SYSWMEVENT, 1); #endif +#ifdef __EMSCRIPTEN__ + this->is_game_threaded = false; +#else + this->is_game_threaded = !GetDriverParamBool(param, "no_threads") && !GetDriverParamBool(param, "no_thread"); +#endif return nullptr; } @@ -966,18 +960,17 @@ void VideoDriver_SDL_Base::LoopOnce() * After that, Emscripten just halts, and the HTML shows a nice * "bye, see you next time" message. */ emscripten_cancel_main_loop(); - MainLoopCleanup(); + emscripten_exit_pointerlock(); + /* In effect, the game ends here. As emscripten_set_main_loop() caused + * the stack to be unwound, the code after MainLoop() in + * openttd_main() is never executed. */ + EM_ASM(if (window["openttd_syncfs"]) openttd_syncfs()); + EM_ASM(if (window["openttd_exit"]) openttd_exit()); #endif return; } - if (VideoDriver::Tick()) { - if (this->draw_mutex != nullptr && !HasModalProgress()) { - this->draw_signal->notify_one(); - } else { - this->Paint(); - } - } + this->Tick(); /* Emscripten is running an event-based mainloop; there is already some * downtime between each iteration, so no need to sleep. */ @@ -988,89 +981,27 @@ void VideoDriver_SDL_Base::LoopOnce() void VideoDriver_SDL_Base::MainLoop() { - if (this->draw_threaded) { - /* Initialise the mutex first, because that's the thing we *need* - * directly in the newly created thread. */ - this->draw_mutex = new std::recursive_mutex(); - if (this->draw_mutex == nullptr) { - this->draw_threaded = false; - } else { - draw_lock = std::unique_lock(*this->draw_mutex); - this->draw_signal = new std::condition_variable_any(); - this->draw_continue = true; - - this->draw_threaded = StartNewThread(&draw_thread, "ottd:draw-sdl", &VideoDriver_SDL_Base::PaintThreadThunk, this); - - /* Free the mutex if we won't be able to use it. */ - if (!this->draw_threaded) { - draw_lock.unlock(); - draw_lock.release(); - delete this->draw_mutex; - delete this->draw_signal; - this->draw_mutex = nullptr; - this->draw_signal = nullptr; - } else { - /* Wait till the draw mutex has started itself. */ - this->draw_signal->wait(*this->draw_mutex); - } - } - } - - DEBUG(driver, 1, "SDL2: using %sthreads", this->draw_threaded ? "" : "no "); - #ifdef __EMSCRIPTEN__ /* Run the main loop event-driven, based on RequestAnimationFrame. */ emscripten_set_main_loop_arg(&this->EmscriptenLoop, this, 0, 1); #else + this->StartGameThread(); + while (!_exit_game) { LoopOnce(); } - MainLoopCleanup(); -#endif -} - -void VideoDriver_SDL_Base::MainLoopCleanup() -{ - if (this->draw_mutex != nullptr) { - this->draw_continue = false; - /* Sending signal if there is no thread blocked - * is very valid and results in noop */ - this->draw_signal->notify_one(); - if (draw_lock.owns_lock()) draw_lock.unlock(); - draw_lock.release(); - draw_thread.join(); - - delete this->draw_mutex; - delete this->draw_signal; - - this->draw_mutex = nullptr; - this->draw_signal = nullptr; - } - -#ifdef __EMSCRIPTEN__ - emscripten_exit_pointerlock(); - /* In effect, the game ends here. As emscripten_set_main_loop() caused - * the stack to be unwound, the code after MainLoop() in - * openttd_main() is never executed. */ - EM_ASM(if (window["openttd_syncfs"]) openttd_syncfs()); - EM_ASM(if (window["openttd_exit"]) openttd_exit()); + this->StopGameThread(); #endif } bool VideoDriver_SDL_Base::ChangeResolution(int w, int h) { - std::unique_lock lock; - if (this->draw_mutex != nullptr) lock = std::unique_lock(*this->draw_mutex); - return CreateMainSurface(w, h, true); } bool VideoDriver_SDL_Base::ToggleFullscreen(bool fullscreen) { - std::unique_lock lock; - if (this->draw_mutex != nullptr) lock = std::unique_lock(*this->draw_mutex); - int w, h; /* Remember current window size */ @@ -1096,6 +1027,7 @@ bool VideoDriver_SDL_Base::ToggleFullscreen(bool fullscreen) DEBUG(driver, 0, "SDL_SetWindowFullscreen() failed: %s", SDL_GetError()); } + this->InvalidateGameOptionsWindow(); return ret == 0; } @@ -1107,16 +1039,6 @@ bool VideoDriver_SDL_Base::AfterBlitterChange() return CreateMainSurface(w, h, false); } -void VideoDriver_SDL_Base::AcquireBlitterLock() -{ - if (this->draw_mutex != nullptr) this->draw_mutex->lock(); -} - -void VideoDriver_SDL_Base::ReleaseBlitterLock() -{ - if (this->draw_mutex != nullptr) this->draw_mutex->unlock(); -} - Dimension VideoDriver_SDL_Base::GetScreenSize() const { SDL_DisplayMode mode; @@ -1130,8 +1052,6 @@ bool VideoDriver_SDL_Base::LockVideoBuffer() if (this->buffer_locked) return false; this->buffer_locked = true; - if (this->draw_threaded) this->draw_lock.lock(); - _screen.dst_ptr = this->GetVideoPointer(); assert(_screen.dst_ptr != nullptr); @@ -1146,6 +1066,5 @@ void VideoDriver_SDL_Base::UnlockVideoBuffer() _screen.dst_ptr = nullptr; } - if (this->draw_threaded) this->draw_lock.unlock(); this->buffer_locked = false; } diff --git a/src/video/sdl2_v.h b/src/video/sdl2_v.h index fb90a54233..ca355dbecb 100644 --- a/src/video/sdl2_v.h +++ b/src/video/sdl2_v.h @@ -36,25 +36,19 @@ public: bool AfterBlitterChange() override; - void AcquireBlitterLock() override; - - void ReleaseBlitterLock() override; - bool ClaimMousePointer() override; void EditBoxGainedFocus() override; void EditBoxLostFocus() override; + std::vector GetListOfMonitorRefreshRates() override; + const char *GetName() const override { return "sdl"; } protected: struct SDL_Window *sdl_window; ///< Main SDL window. Palette local_palette; ///< Copy of _cur_palette. - bool draw_threaded; ///< Whether the drawing is/may be done in a separate thread. - std::recursive_mutex *draw_mutex = nullptr; ///< Mutex to keep the access to the shared memory controlled. - std::condition_variable_any *draw_signal = nullptr; ///< Signal to draw the next frame. - volatile bool draw_continue; ///< Should we keep continue drawing? bool buffer_locked; ///< Video buffer was locked by the main thread. Rect dirty_rect; ///< Rectangle encompassing the dirty area of the video buffer. @@ -94,10 +88,6 @@ private: bool edit_box_focused; int startup_display; - std::thread draw_thread; - std::unique_lock draw_lock; - - static void PaintThreadThunk(VideoDriver_SDL_Base *drv); }; #endif /* VIDEO_SDL_H */ diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp index 60dbc08ae3..0db1a4529d 100644 --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -23,12 +23,6 @@ #include "../window_func.h" #include "sdl_v.h" #include -#include -#include -#if defined(__MINGW32__) -#include "../3rdparty/mingw-std-threads/mingw.mutex.h" -#include "../3rdparty/mingw-std-threads/mingw.condition_variable.h" -#endif #include #include "../safeguards.h" @@ -39,14 +33,6 @@ static SDL_Surface *_sdl_surface; static SDL_Surface *_sdl_realscreen; static bool _all_modes; -/** Whether the drawing is/may be done in a separate thread. */ -static bool _draw_threaded; -/** Mutex to keep the access to the shared memory controlled. */ -static std::recursive_mutex *_draw_mutex = nullptr; -/** Signal to draw the next frame. */ -static std::condition_variable_any *_draw_signal = nullptr; -/** Should we keep continue drawing? */ -static volatile bool _draw_continue; static Palette _local_palette; #define MAX_DIRTY_RECTS 100 @@ -179,27 +165,6 @@ void VideoDriver_SDL::Paint() } } -void VideoDriver_SDL::PaintThread() -{ - /* First tell the main thread we're started */ - std::unique_lock lock(*_draw_mutex); - _draw_signal->notify_one(); - - /* Now wait for the first thing to draw! */ - _draw_signal->wait(*_draw_mutex); - - while (_draw_continue) { - /* Then just draw and wait till we stop */ - this->Paint(); - _draw_signal->wait(lock); - } -} - -/* static */ void VideoDriver_SDL::PaintThreadThunk(VideoDriver_SDL *drv) -{ - drv->PaintThread(); -} - static const Dimension _default_resolutions[] = { { 640, 480}, { 800, 600}, @@ -607,10 +572,10 @@ bool VideoDriver_SDL::PollEvent() return true; } -const char *VideoDriver_SDL::Start(const StringList &parm) +const char *VideoDriver_SDL::Start(const StringList ¶m) { char buf[30]; - _use_hwpalette = GetDriverParamInt(parm, "hw_palette", 2); + _use_hwpalette = GetDriverParamInt(param, "hw_palette", 2); /* Just on the offchance the audio subsystem started before the video system, * check whether any part of SDL has been initialised before getting here. @@ -636,7 +601,7 @@ const char *VideoDriver_SDL::Start(const StringList &parm) MarkWholeScreenDirty(); SetupKeyboard(); - _draw_threaded = !GetDriverParamBool(parm, "no_threads") && !GetDriverParamBool(parm, "no_thread"); + this->is_game_threaded = !GetDriverParamBool(param, "no_threads") && !GetDriverParamBool(param, "no_thread"); return nullptr; } @@ -688,80 +653,25 @@ void VideoDriver_SDL::InputLoop() void VideoDriver_SDL::MainLoop() { - std::thread draw_thread; - if (_draw_threaded) { - /* Initialise the mutex first, because that's the thing we *need* - * directly in the newly created thread. */ - _draw_mutex = new std::recursive_mutex(); - if (_draw_mutex == nullptr) { - _draw_threaded = false; - } else { - this->draw_lock = std::unique_lock(*_draw_mutex); - _draw_signal = new std::condition_variable_any(); - _draw_continue = true; - - _draw_threaded = StartNewThread(&draw_thread, "ottd:draw-sdl", &VideoDriver_SDL::PaintThreadThunk, this); - - /* Free the mutex if we won't be able to use it. */ - if (!_draw_threaded) { - this->draw_lock.unlock(); - this->draw_lock.release(); - delete _draw_mutex; - delete _draw_signal; - _draw_mutex = nullptr; - _draw_signal = nullptr; - } else { - /* Wait till the draw mutex has started itself. */ - _draw_signal->wait(*_draw_mutex); - } - } - } - - DEBUG(driver, 1, "SDL: using %sthreads", _draw_threaded ? "" : "no "); + this->StartGameThread(); for (;;) { if (_exit_game) break; - if (this->Tick()) { - if (_draw_mutex != nullptr && !HasModalProgress()) { - _draw_signal->notify_one(); - } else { - this->Paint(); - } - } + this->Tick(); this->SleepTillNextTick(); } - if (_draw_mutex != nullptr) { - _draw_continue = false; - /* Sending signal if there is no thread blocked - * is very valid and results in noop */ - _draw_signal->notify_one(); - if (this->draw_lock.owns_lock()) this->draw_lock.unlock(); - this->draw_lock.release(); - draw_thread.join(); - - delete _draw_mutex; - delete _draw_signal; - - _draw_mutex = nullptr; - _draw_signal = nullptr; - } + this->StopGameThread(); } bool VideoDriver_SDL::ChangeResolution(int w, int h) { - std::unique_lock lock; - if (_draw_mutex != nullptr) lock = std::unique_lock(*_draw_mutex); - return CreateMainSurface(w, h); } bool VideoDriver_SDL::ToggleFullscreen(bool fullscreen) { - std::unique_lock lock; - if (_draw_mutex != nullptr) lock = std::unique_lock(*_draw_mutex); - _fullscreen = fullscreen; GetVideoModes(); // get the list of available video modes bool ret = !_resolutions.empty() && CreateMainSurface(_cur_resolution.width, _cur_resolution.height); @@ -771,6 +681,7 @@ bool VideoDriver_SDL::ToggleFullscreen(bool fullscreen) _fullscreen ^= true; } + this->InvalidateGameOptionsWindow(); return ret; } @@ -779,25 +690,4 @@ bool VideoDriver_SDL::AfterBlitterChange() return CreateMainSurface(_screen.width, _screen.height); } -void VideoDriver_SDL::AcquireBlitterLock() -{ - if (_draw_mutex != nullptr) _draw_mutex->lock(); -} - -void VideoDriver_SDL::ReleaseBlitterLock() -{ - if (_draw_mutex != nullptr) _draw_mutex->unlock(); -} - -bool VideoDriver_SDL::LockVideoBuffer() -{ - if (_draw_threaded) this->draw_lock.lock(); - return true; -} - -void VideoDriver_SDL::UnlockVideoBuffer() -{ - if (_draw_threaded) this->draw_lock.unlock(); -} - #endif /* WITH_SDL */ diff --git a/src/video/sdl_v.h b/src/video/sdl_v.h index 7df29a2ea3..2b37cbdb6a 100644 --- a/src/video/sdl_v.h +++ b/src/video/sdl_v.h @@ -29,30 +29,19 @@ public: bool AfterBlitterChange() override; - void AcquireBlitterLock() override; - - void ReleaseBlitterLock() override; - bool ClaimMousePointer() override; const char *GetName() const override { return "sdl"; } protected: void InputLoop() override; - bool LockVideoBuffer() override; - void UnlockVideoBuffer() override; void Paint() override; - void PaintThread() override; void CheckPaletteAnim() override; bool PollEvent() override; private: - std::unique_lock draw_lock; - bool CreateMainSurface(uint w, uint h); void SetupKeyboard(); - - static void PaintThreadThunk(VideoDriver_SDL *drv); }; /** Factory for the SDL video driver. */ diff --git a/src/video/video_driver.cpp b/src/video/video_driver.cpp index b6c4d4717c..243c999ca2 100644 --- a/src/video/video_driver.cpp +++ b/src/video/video_driver.cpp @@ -8,50 +8,142 @@ /** @file video_driver.cpp Common code between video driver implementations. */ #include "../stdafx.h" -#include "../debug.h" #include "../core/random_func.hpp" #include "../network/network.h" +#include "../blitter/factory.hpp" +#include "../debug.h" +#include "../fontcache.h" #include "../gfx_func.h" +#include "../gfxinit.h" #include "../progress.h" #include "../thread.h" #include "../window_func.h" #include "video_driver.hpp" -bool VideoDriver::Tick() +bool _video_hw_accel; ///< Whether to consider hardware accelerated video drivers. + +void VideoDriver::GameLoop() { - auto cur_ticks = std::chrono::steady_clock::now(); + this->next_game_tick += this->GetGameInterval(); - if (cur_ticks >= this->next_game_tick) { - this->next_game_tick += this->GetGameInterval(); - /* Avoid next_game_tick getting behind more and more if it cannot keep up. */ - if (this->next_game_tick < cur_ticks - ALLOWED_DRIFT * this->GetGameInterval()) this->next_game_tick = cur_ticks; + /* Avoid next_game_tick getting behind more and more if it cannot keep up. */ + auto now = std::chrono::steady_clock::now(); + if (this->next_game_tick < now - ALLOWED_DRIFT * this->GetGameInterval()) this->next_game_tick = now; + + { + std::lock_guard lock(this->game_state_mutex); - /* The game loop is the part that can run asynchronously. - * The rest except sleeping can't. */ - this->UnlockVideoBuffer(); ::GameLoop(); - this->LockVideoBuffer(); + + // TODO: lock ::GameLoopPaletteAnimations(); + // TODO: unlock + } +} + +void VideoDriver::GameThread() +{ + while (!_exit_game) { + this->GameLoop(); + + auto now = std::chrono::steady_clock::now(); + if (this->next_game_tick > now) { + std::this_thread::sleep_for(this->next_game_tick - now); + } else { + /* Ensure we yield this thread if drawings wants to take a lock on + * the game state. This is mainly because most OSes have an + * optimization that if you unlock/lock a mutex in the same thread + * quickly, it will never context switch even if there is another + * thread waiting to take the lock on the same mutex. */ + std::lock_guard lock(this->game_thread_wait_mutex); + } + } +} + +/** + * Pause the game-loop for a bit, releasing the game-state lock. This allows, + * if the draw-tick requested this, the drawing to happen. + */ +void VideoDriver::GameLoopPause() +{ + /* If we are not called from the game-thread, ignore this request. */ + if (std::this_thread::get_id() != this->game_thread.get_id()) return; + + this->game_state_mutex.unlock(); + + { + /* See GameThread() for more details on this lock. */ + std::lock_guard lock(this->game_thread_wait_mutex); + } + + this->game_state_mutex.lock(); +} + +/* static */ void VideoDriver::GameThreadThunk(VideoDriver *drv) +{ + drv->GameThread(); +} + +void VideoDriver::StartGameThread() +{ + if (this->is_game_threaded) { + this->is_game_threaded = StartNewThread(&this->game_thread, "ottd:game", &VideoDriver::GameThreadThunk, this); + } + + DEBUG(driver, 1, "using %sthread for game-loop", this->is_game_threaded ? "" : "no "); +} + +void VideoDriver::StopGameThread() +{ + if (!this->is_game_threaded) return; + + this->game_thread.join(); +} + +void VideoDriver::RealChangeBlitter(const char *repl_blitter) +{ + const char *cur_blitter = BlitterFactory::GetCurrentBlitter()->GetName(); + + DEBUG(driver, 1, "Switching blitter from '%s' to '%s'... ", cur_blitter, repl_blitter); + Blitter *new_blitter = BlitterFactory::SelectBlitter(repl_blitter); + if (new_blitter == nullptr) NOT_REACHED(); + DEBUG(driver, 1, "Successfully switched to %s.", repl_blitter); + + if (!this->AfterBlitterChange()) { + /* Failed to switch blitter, let's hope we can return to the old one. */ + if (BlitterFactory::SelectBlitter(cur_blitter) == nullptr || !this->AfterBlitterChange()) usererror("Failed to reinitialize video driver. Specify a fixed blitter in the config"); + } + + /* Clear caches that might have sprites for another blitter. */ + this->ClearSystemSprites(); + ClearFontCache(); + GfxClearSpriteCache(); + ReInitAllWindows(); +} + +void VideoDriver::Tick() +{ + if (!this->is_game_threaded && std::chrono::steady_clock::now() >= this->next_game_tick) { + this->GameLoop(); /* For things like dedicated server, don't run a separate draw-tick. */ if (!this->HasGUI()) { ::InputLoop(); - UpdateWindows(); + ::UpdateWindows(); this->next_draw_tick = this->next_game_tick; } } - /* Prevent drawing when switching mode, as windows can be removed when they should still appear. */ - if (this->HasGUI() && cur_ticks >= this->next_draw_tick && (_switch_mode == SM_NONE || _game_mode == GM_BOOTSTRAP || HasModalProgress())) { + auto now = std::chrono::steady_clock::now(); + if (this->HasGUI() && now >= this->next_draw_tick) { this->next_draw_tick += this->GetDrawInterval(); /* Avoid next_draw_tick getting behind more and more if it cannot keep up. */ - if (this->next_draw_tick < cur_ticks - ALLOWED_DRIFT * this->GetDrawInterval()) this->next_draw_tick = cur_ticks; + if (this->next_draw_tick < now - ALLOWED_DRIFT * this->GetDrawInterval()) this->next_draw_tick = now; /* Keep the interactive randomizer a bit more random by requesting * new values when-ever we can. */ InteractiveRandom(); - while (this->PollEvent()) {} this->InputLoop(); /* Check if the fast-forward button is still pressed. */ @@ -63,25 +155,51 @@ bool VideoDriver::Tick() this->fast_forward_via_key = false; } - ::InputLoop(); - UpdateWindows(); + { + /* Tell the game-thread to stop so we can have a go. */ + std::lock_guard lock_wait(this->game_thread_wait_mutex); + std::lock_guard lock_state(this->game_state_mutex); + + this->LockVideoBuffer(); + + if (this->change_blitter != nullptr) { + this->RealChangeBlitter(this->change_blitter); + this->change_blitter = nullptr; + } + + while (this->PollEvent()) {} + ::InputLoop(); + + /* Prevent drawing when switching mode, as windows can be removed when they should still appear. */ + if (_game_mode == GM_BOOTSTRAP || _switch_mode == SM_NONE || HasModalProgress()) { + ::UpdateWindows(); + } + + this->PopulateSystemSprites(); + } + this->CheckPaletteAnim(); + this->Paint(); - return true; + this->UnlockVideoBuffer(); } - - return false; } void VideoDriver::SleepTillNextTick() { - /* See how much time there is till we have to process the next event, and try to hit that as close as possible. */ - auto next_tick = std::min(this->next_draw_tick, this->next_game_tick); + auto next_tick = this->next_draw_tick; auto now = std::chrono::steady_clock::now(); + if (!this->is_game_threaded) { + next_tick = min(next_tick, this->next_game_tick); + } + if (next_tick > now) { - this->UnlockVideoBuffer(); std::this_thread::sleep_for(next_tick - now); - this->LockVideoBuffer(); } } + +void VideoDriver::InvalidateGameOptionsWindow() +{ + InvalidateWindowClassesData(WC_GAME_OPTIONS, 3); +} diff --git a/src/video/video_driver.hpp b/src/video/video_driver.hpp index 938dd84bf3..6b56a38139 100644 --- a/src/video/video_driver.hpp +++ b/src/video/video_driver.hpp @@ -16,13 +16,18 @@ #include "../gfx_func.h" #include "../settings_type.h" #include "../zoom_type.h" +#include #include +#include +#include +#include #include extern std::string _ini_videodriver; extern std::vector _resolutions; extern Dimension _cur_resolution; extern bool _rightclick_emulate; +extern bool _video_hw_accel; /** The base of all video drivers. */ class VideoDriver : public Driver { @@ -30,6 +35,8 @@ class VideoDriver : public Driver { const uint DEFAULT_WINDOW_HEIGHT = 480u; ///< Default window height. public: + VideoDriver() : is_game_threaded(true), change_blitter(nullptr) {} + /** * Mark a particular area dirty. * @param left The left most line of the dirty area. @@ -61,7 +68,6 @@ public: /** * Callback invoked after the blitter was changed. - * This may only be called between AcquireBlitterLock and ReleaseBlitterLock. * @return True if no error. */ virtual bool AfterBlitterChange() @@ -69,18 +75,6 @@ public: return true; } - /** - * Acquire any lock(s) required to be held when changing blitters. - * These lock(s) may not be acquired recursively. - */ - virtual void AcquireBlitterLock() { } - - /** - * Release any lock(s) required to be held when changing blitters. - * These lock(s) may not be acquired recursively. - */ - virtual void ReleaseBlitterLock() { } - virtual bool ClaimMousePointer() { return true; @@ -95,6 +89,11 @@ public: return false; } + /** + * Populate all sprites in cache. + */ + virtual void PopulateSystemSprites() {} + /** * Clear all cached sprites. */ @@ -150,6 +149,15 @@ public: */ virtual void EditBoxGainedFocus() {} + /** + * Get a list of refresh rates of each available monitor. + * @return A vector of the refresh rates of all available monitors. + */ + virtual std::vector GetListOfMonitorRefreshRates() + { + return {}; + } + /** * Get a suggested default GUI zoom taking screen DPI into account. */ @@ -162,6 +170,17 @@ public: return ZOOM_LVL_OUT_4X; } + /** + * Queue a request to change the blitter. This is not executed immediately, + * but instead on the next draw-tick. + */ + void ChangeBlitter(const char *new_blitter) + { + this->change_blitter = new_blitter; + } + + void GameLoopPause(); + /** * Get the currently active instance of the video driver. */ @@ -240,11 +259,6 @@ protected: */ virtual void Paint() {} - /** - * Thread function for threaded drawing. - */ - virtual void PaintThread() {} - /** * Process any pending palette animation. */ @@ -257,16 +271,29 @@ protected: virtual bool PollEvent() { return false; }; /** - * Run the game for a single tick, processing boththe game-tick and draw-tick. - * @returns True if the driver should redraw the screen. + * Start the loop for game-tick. */ - bool Tick(); + void StartGameThread(); + + /** + * Stop the loop for the game-tick. This can still tick at most one time before truly shutting down. + */ + void StopGameThread(); + + /** + * Give the video-driver a tick. + * It will process any potential game-tick and/or draw-tick, and/or any + * other video-driver related event. + */ + void Tick(); /** * Sleep till the next tick is about to happen. */ void SleepTillNextTick(); + void InvalidateGameOptionsWindow(); + std::chrono::steady_clock::duration GetGameInterval() { /* If we are paused, run on normal speed. */ @@ -287,6 +314,20 @@ protected: bool fast_forward_key_pressed; ///< The fast-forward key is being pressed. bool fast_forward_via_key; ///< The fast-forward was enabled by key press. + + bool is_game_threaded; + std::thread game_thread; + std::mutex game_state_mutex; + std::mutex game_thread_wait_mutex; + + static void GameThreadThunk(VideoDriver *drv); + +private: + void GameLoop(); + void GameThread(); + void RealChangeBlitter(const char *repl_blitter); + + const char *change_blitter; ///< Request to change the blitter. nullptr if no pending request. }; #endif /* VIDEO_VIDEO_DRIVER_HPP */ diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp index 9c1214f5f1..b859f8b3f7 100644 --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -129,9 +129,10 @@ uint8 VideoDriver_Win32Base::GetFullscreenBpp() /** * Instantiate a new window. * @param full_screen Whether to make a full screen window or not. + * @param resize Whether to change window size. * @return True if the window could be created. */ -bool VideoDriver_Win32Base::MakeWindow(bool full_screen) +bool VideoDriver_Win32Base::MakeWindow(bool full_screen, bool resize) { /* full_screen is whether the new window should be fullscreen, * _wnd.fullscreen is whether the current window is. */ @@ -173,7 +174,7 @@ bool VideoDriver_Win32Base::MakeWindow(bool full_screen) } if (ChangeDisplaySettings(&settings, CDS_FULLSCREEN) != DISP_CHANGE_SUCCESSFUL) { - this->MakeWindow(false); // don't care about the result + this->MakeWindow(false, resize); // don't care about the result return false; // the request failed } } else if (this->fullscreen) { @@ -206,7 +207,7 @@ bool VideoDriver_Win32Base::MakeWindow(bool full_screen) h = r.bottom - r.top; if (this->main_wnd != nullptr) { - if (!_window_maximize) SetWindowPos(this->main_wnd, 0, 0, 0, w, h, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOMOVE); + if (!_window_maximize && resize) SetWindowPos(this->main_wnd, 0, 0, 0, w, h, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOMOVE); } else { int x = (GetSystemMetrics(SM_CXSCREEN) - w) / 2; int y = (GetSystemMetrics(SM_CYSCREEN) - h) / 2; @@ -226,11 +227,6 @@ bool VideoDriver_Win32Base::MakeWindow(bool full_screen) return true; } -/* static */ void VideoDriver_Win32Base::PaintThreadThunk(VideoDriver_Win32Base *drv) -{ - drv->PaintThread(); -} - /** Forward key presses to the window system. */ static LRESULT HandleCharMsg(uint keycode, WChar charcode) { @@ -871,70 +867,16 @@ bool VideoDriver_Win32Base::PollEvent() void VideoDriver_Win32Base::MainLoop() { - std::thread draw_thread; - - if (this->draw_threaded) { - /* Initialise the mutex first, because that's the thing we *need* - * directly in the newly created thread. */ - try { - this->draw_signal = new std::condition_variable_any(); - this->draw_mutex = new std::recursive_mutex(); - } catch (...) { - this->draw_threaded = false; - } - - if (this->draw_threaded) { - this->draw_lock = std::unique_lock(*this->draw_mutex); - - this->draw_continue = true; - this->draw_threaded = StartNewThread(&draw_thread, "ottd:draw-win32", &VideoDriver_Win32Base::PaintThreadThunk, this); - - /* Free the mutex if we won't be able to use it. */ - if (!this->draw_threaded) { - this->draw_lock.unlock(); - this->draw_lock.release(); - delete this->draw_mutex; - delete this->draw_signal; - this->draw_mutex = nullptr; - this->draw_signal = nullptr; - } else { - DEBUG(driver, 1, "Threaded drawing enabled"); - /* Wait till the draw thread has started itself. */ - this->draw_signal->wait(*this->draw_mutex); - } - } - } + this->StartGameThread(); for (;;) { if (_exit_game) break; - /* Flush GDI buffer to ensure we don't conflict with the drawing thread. */ - GdiFlush(); - - if (this->Tick()) { - if (this->draw_mutex != nullptr && !HasModalProgress()) { - this->draw_signal->notify_one(); - } else { - this->Paint(); - } - } + this->Tick(); this->SleepTillNextTick(); } - if (this->draw_threaded) { - this->draw_continue = false; - /* Sending signal if there is no thread blocked - * is very valid and results in noop */ - this->draw_signal->notify_all(); - if (this->draw_lock.owns_lock()) this->draw_lock.unlock(); - this->draw_lock.release(); - draw_thread.join(); - - delete this->draw_mutex; - delete this->draw_signal; - - this->draw_mutex = nullptr; - } + this->StopGameThread(); } void VideoDriver_Win32Base::ClientSizeChanged(int w, int h, bool force) @@ -954,9 +896,6 @@ void VideoDriver_Win32Base::ClientSizeChanged(int w, int h, bool force) bool VideoDriver_Win32Base::ChangeResolution(int w, int h) { - std::unique_lock lock; - if (this->draw_mutex != nullptr) lock = std::unique_lock(*this->draw_mutex); - if (_window_maximize) ShowWindow(this->main_wnd, SW_SHOWNORMAL); this->width = this->width_org = w; @@ -967,32 +906,40 @@ bool VideoDriver_Win32Base::ChangeResolution(int w, int h) bool VideoDriver_Win32Base::ToggleFullscreen(bool full_screen) { - std::unique_lock lock; - if (this->draw_mutex != nullptr) lock = std::unique_lock(*this->draw_mutex); + bool res = this->MakeWindow(full_screen); - return this->MakeWindow(full_screen); -} - -void VideoDriver_Win32Base::AcquireBlitterLock() -{ - if (this->draw_mutex != nullptr) this->draw_mutex->lock(); -} - -void VideoDriver_Win32Base::ReleaseBlitterLock() -{ - if (this->draw_mutex != nullptr) this->draw_mutex->unlock(); + this->InvalidateGameOptionsWindow(); + return res; } void VideoDriver_Win32Base::EditBoxLostFocus() { - std::unique_lock lock; - if (this->draw_mutex != nullptr) lock = std::unique_lock(*this->draw_mutex); - CancelIMEComposition(this->main_wnd); SetCompositionPos(this->main_wnd); SetCandidatePos(this->main_wnd); } +std::vector VideoDriver_Win32Base::GetListOfMonitorRefreshRates() +{ + std::vector rates = {}; + EnumDisplayMonitors(nullptr, nullptr, [](HMONITOR hMonitor, HDC hDC, LPRECT rc, LPARAM data) -> BOOL { + auto &list = *reinterpret_cast*>(data); + + MONITORINFOEX monitorInfo = {}; + monitorInfo.cbSize = sizeof(MONITORINFOEX); + GetMonitorInfo(hMonitor, &monitorInfo); + + DEVMODE devMode = {}; + devMode.dmSize = sizeof(DEVMODE); + devMode.dmDriverExtra = 0; + EnumDisplaySettings(monitorInfo.szDevice, ENUM_CURRENT_SETTINGS, &devMode); + + if (devMode.dmDisplayFrequency != 0) list.push_back(devMode.dmDisplayFrequency); + return true; + }, reinterpret_cast(&rates)); + return rates; +} + Dimension VideoDriver_Win32Base::GetScreenSize() const { return { static_cast(GetSystemMetrics(SM_CXSCREEN)), static_cast(GetSystemMetrics(SM_CYSCREEN)) }; @@ -1043,8 +990,6 @@ bool VideoDriver_Win32Base::LockVideoBuffer() if (this->buffer_locked) return false; this->buffer_locked = true; - if (this->draw_threaded) this->draw_lock.lock(); - _screen.dst_ptr = this->GetVideoPointer(); assert(_screen.dst_ptr != nullptr); @@ -1060,7 +1005,6 @@ void VideoDriver_Win32Base::UnlockVideoBuffer() _screen.dst_ptr = nullptr; } - if (this->draw_threaded) this->draw_lock.unlock(); this->buffer_locked = false; } @@ -1079,7 +1023,7 @@ const char *VideoDriver_Win32GDI::Start(const StringList ¶m) MarkWholeScreenDirty(); - this->draw_threaded = !GetDriverParam(param, "no_threads") && !GetDriverParam(param, "no_thread") && std::thread::hardware_concurrency() > 1; + this->is_game_threaded = !GetDriverParamBool(param, "no_threads") && !GetDriverParamBool(param, "no_thread"); return nullptr; } @@ -1130,7 +1074,7 @@ bool VideoDriver_Win32GDI::AllocateBackingStore(int w, int h, bool force) bool VideoDriver_Win32GDI::AfterBlitterChange() { assert(BlitterFactory::GetCurrentBlitter()->GetScreenDepth() != 0); - return this->AllocateBackingStore(_screen.width, _screen.height, true) && this->MakeWindow(_fullscreen); + return this->AllocateBackingStore(_screen.width, _screen.height, true) && this->MakeWindow(_fullscreen, false); } void VideoDriver_Win32GDI::MakePalette() @@ -1201,13 +1145,7 @@ void VideoDriver_Win32GDI::Paint() break; case Blitter::PALETTE_ANIMATION_BLITTER: { - bool need_buf = _screen.dst_ptr == nullptr; - if (need_buf) _screen.dst_ptr = this->GetVideoPointer(); blitter->PaletteAnimate(_local_palette); - if (need_buf) { - this->ReleaseVideoPointer(); - _screen.dst_ptr = nullptr; - } break; } @@ -1230,26 +1168,6 @@ void VideoDriver_Win32GDI::Paint() this->dirty_rect = {}; } -void VideoDriver_Win32GDI::PaintThread() -{ - /* First tell the main thread we're started */ - std::unique_lock lock(*this->draw_mutex); - this->draw_signal->notify_one(); - - /* Now wait for the first thing to draw! */ - this->draw_signal->wait(*this->draw_mutex); - - while (this->draw_continue) { - this->Paint(); - - /* Flush GDI buffer to ensure drawing here doesn't conflict with any GDI usage in the main WndProc. */ - GdiFlush(); - - this->draw_signal->wait(*this->draw_mutex); - } -} - - #ifdef _DEBUG /* Keep this function here.. * It allows you to redraw the screen from within the MSVC debugger */ @@ -1395,9 +1313,10 @@ const char *VideoDriver_Win32OpenGL::Start(const StringList ¶m) this->ClientSizeChanged(this->width, this->height, true); - this->draw_threaded = false; MarkWholeScreenDirty(); + this->is_game_threaded = !GetDriverParamBool(param, "no_threads") && !GetDriverParamBool(param, "no_thread"); + return nullptr; } @@ -1478,6 +1397,11 @@ bool VideoDriver_Win32OpenGL::AfterBlitterChange() return true; } +void VideoDriver_Win32OpenGL::PopulateSystemSprites() +{ + OpenGLBackend::Get()->PopulateCursorCache(); +} + void VideoDriver_Win32OpenGL::ClearSystemSprites() { OpenGLBackend::Get()->ClearCursorCache(); diff --git a/src/video/win32_v.h b/src/video/win32_v.h index ed1957e234..fe77ac56aa 100644 --- a/src/video/win32_v.h +++ b/src/video/win32_v.h @@ -21,7 +21,7 @@ /** Base class for Windows video drivers. */ class VideoDriver_Win32Base : public VideoDriver { public: - VideoDriver_Win32Base() : main_wnd(nullptr), fullscreen(false), draw_mutex(nullptr), draw_signal(nullptr) {} + VideoDriver_Win32Base() : main_wnd(nullptr), fullscreen(false) {} void Stop() override; @@ -33,14 +33,12 @@ public: bool ToggleFullscreen(bool fullscreen) override; - void AcquireBlitterLock() override; - - void ReleaseBlitterLock() override; - bool ClaimMousePointer() override; void EditBoxLostFocus() override; + std::vector GetListOfMonitorRefreshRates() override; + protected: HWND main_wnd; ///< Handle to system window. bool fullscreen; ///< Whether to use (true) fullscreen mode. @@ -51,12 +49,7 @@ protected: int width_org = 0; ///< Original monitor resolution width, before we changed it. int height_org = 0; ///< Original monitor resolution height, before we changed it. - bool draw_threaded; ///< Whether the drawing is/may be done in a separate thread. - bool buffer_locked; ///< Video buffer was locked by the main thread. - volatile bool draw_continue; ///< Should we keep continue drawing? - - std::recursive_mutex *draw_mutex; ///< Mutex to keep the access to the shared memory controlled. - std::condition_variable_any *draw_signal; ///< Signal to draw the next frame. + bool buffer_locked; ///< Video buffer was locked by the main thread. Dimension GetScreenSize() const override; float GetDPIScale() override; @@ -67,7 +60,7 @@ protected: bool PollEvent() override; void Initialize(); - bool MakeWindow(bool full_screen); + bool MakeWindow(bool full_screen, bool resize = true); void ClientSizeChanged(int w, int h, bool force = false); /** Get screen depth to use for fullscreen mode. */ @@ -82,10 +75,6 @@ protected: virtual void PaletteChanged(HWND hWnd) = 0; private: - std::unique_lock draw_lock; - - static void PaintThreadThunk(VideoDriver_Win32Base *drv); - friend LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); }; /** The GDI video driver for windows. */ @@ -108,7 +97,6 @@ protected: void Paint() override; void *GetVideoPointer() override { return this->buffer_bits; } - void PaintThread() override; bool AllocateBackingStore(int w, int h, bool force = false) override; void PaletteChanged(HWND hWnd) override; @@ -147,6 +135,8 @@ public: bool UseSystemCursor() override { return true; } + void PopulateSystemSprites() override; + void ClearSystemSprites() override; bool HasAnimBuffer() override { return true; } @@ -163,7 +153,6 @@ protected: uint8 GetFullscreenBpp() override { return 32; } // OpenGL is always 32 bpp. void Paint() override; - void PaintThread() override {} bool AllocateBackingStore(int w, int h, bool force = false) override; void *GetVideoPointer() override; @@ -179,6 +168,9 @@ class FVideoDriver_Win32OpenGL : public DriverFactoryBase { public: FVideoDriver_Win32OpenGL() : DriverFactoryBase(Driver::DT_VIDEO, 10, "win32-opengl", "Win32 OpenGL Video Driver") {} /* virtual */ Driver *CreateInstance() const override { return new VideoDriver_Win32OpenGL(); } + +protected: + bool UsesHardwareAcceleration() const override { return true; } }; #endif /* WITH_OPENGL */ diff --git a/src/widget.cpp b/src/widget.cpp index 0934899597..9cc8a4da80 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -2748,10 +2748,10 @@ static int MakeNWidget(const NWidgetPart *parts, int count, NWidgetBase **dest, case WPT_PIPSPACE: { NWidgetPIPContainer *nwc = dynamic_cast(*dest); - if (nwc != nullptr) nwc->SetPIP(parts->u.pip.pre, parts->u.pip.inter, parts->u.pip.post); + if (nwc != nullptr) nwc->SetPIP(ScaleGUITrad(parts->u.pip.pre), ScaleGUITrad(parts->u.pip.inter), ScaleGUITrad(parts->u.pip.post)); NWidgetBackground *nwb = dynamic_cast(*dest); - if (nwb != nullptr) nwb->SetPIP(parts->u.pip.pre, parts->u.pip.inter, parts->u.pip.post); + if (nwb != nullptr) nwb->SetPIP(ScaleGUITrad(parts->u.pip.pre), ScaleGUITrad(parts->u.pip.inter), ScaleGUITrad(parts->u.pip.post)); break; } @@ -2935,12 +2935,13 @@ NWidgetContainer *MakeWindowNWidgetTree(const NWidgetPart *parts, int count, int * @param biggest_index Storage for collecting the biggest index used in the returned tree. * @param widget_first The first widget index to use. * @param widget_last The last widget index to use. + * @param colour The colour in which to draw the button. * @param max_length Maximal number of company buttons in one row. * @param button_tooltip The tooltip-string of every button. * @return Panel with rows of company buttons. * @post \c *biggest_index contains the largest used index in the tree. */ -NWidgetBase *MakeCompanyButtonRows(int *biggest_index, int widget_first, int widget_last, int max_length, StringID button_tooltip) +NWidgetBase *MakeCompanyButtonRows(int *biggest_index, int widget_first, int widget_last, Colours button_colour, int max_length, StringID button_tooltip) { assert(max_length >= 1); NWidgetVertical *vert = nullptr; // Storage for all rows. @@ -2964,7 +2965,7 @@ NWidgetBase *MakeCompanyButtonRows(int *biggest_index, int widget_first, int wid hor_length = 0; } - NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, COLOUR_GREY, widnum); + NWidgetBackground *panel = new NWidgetBackground(WWT_PANEL, button_colour, widnum); panel->SetMinimalSize(sprite_size.width, sprite_size.height); panel->SetFill(1, 1); panel->SetResize(1, 0); diff --git a/src/widget_type.h b/src/widget_type.h index 22a6ed005e..a17811511c 100644 --- a/src/widget_type.h +++ b/src/widget_type.h @@ -1181,6 +1181,6 @@ static inline NWidgetPart NWidgetFunction(NWidgetFunctionType *func_ptr) NWidgetContainer *MakeNWidgets(const NWidgetPart *parts, int count, int *biggest_index, NWidgetContainer *container); NWidgetContainer *MakeWindowNWidgetTree(const NWidgetPart *parts, int count, int *biggest_index, NWidgetStacked **shade_select); -NWidgetBase *MakeCompanyButtonRows(int *biggest_index, int widget_first, int widget_last, int max_length, StringID button_tooltip); +NWidgetBase *MakeCompanyButtonRows(int *biggest_index, int widget_first, int widget_last, Colours button_colour, int max_length, StringID button_tooltip); #endif /* WIDGET_TYPE_H */ diff --git a/src/widgets/bootstrap_widget.h b/src/widgets/bootstrap_widget.h index 4870f62d5a..16a36cc5b4 100644 --- a/src/widgets/bootstrap_widget.h +++ b/src/widgets/bootstrap_widget.h @@ -15,6 +15,13 @@ enum BootstrapBackgroundWidgets { WID_BB_BACKGROUND, ///< Background of the window. }; +/** Widgets of the #BootstrapErrmsgWindow class. */ +enum BootstrapErrorMessageWidgets { + WID_BEM_CAPTION, ///< Caption of the window. + WID_BEM_MESSAGE, ///< Error message. + WID_BEM_QUIT, ///< Quit button. +}; + /** Widgets of the #BootstrapContentDownloadStatusWindow class. */ enum BootstrapAskForDownloadWidgets { WID_BAFD_QUESTION, ///< The question whether to download. diff --git a/src/widgets/dropdown_type.h b/src/widgets/dropdown_type.h index 540c3c9cb7..97236afc3a 100644 --- a/src/widgets/dropdown_type.h +++ b/src/widgets/dropdown_type.h @@ -68,6 +68,7 @@ public: StringID String() const override; void SetParam(uint index, uint64 value) { decode_params[index] = value; } + void SetParamStr(uint index, const char *str) { this->SetParam(index, (uint64)(size_t)str); } }; /** diff --git a/src/widgets/goal_widget.h b/src/widgets/goal_widget.h index ad530210ba..27c5cf7222 100644 --- a/src/widgets/goal_widget.h +++ b/src/widgets/goal_widget.h @@ -13,9 +13,12 @@ /** Widgets of the #GoalListWindow class. */ enum GoalListWidgets { - WID_GOAL_CAPTION, ///< Caption of the window. - WID_GOAL_LIST, ///< Goal list. - WID_GOAL_SCROLLBAR, ///< Scrollbar of the goal list. + WID_GOAL_CAPTION, ///< Caption of the window. + WID_GOAL_SELECT_BUTTONS, ///< Selection widget for the title bar button. + WID_GOAL_GLOBAL_BUTTON, ///< Button to show global goals. + WID_GOAL_COMPANY_BUTTON, ///< Button to show company goals. + WID_GOAL_LIST, ///< Goal list. + WID_GOAL_SCROLLBAR, ///< Scrollbar of the goal list. }; /** Widgets of the #GoalQuestionWindow class. */ diff --git a/src/widgets/rail_widget.h b/src/widgets/rail_widget.h index 6637a618a8..0fafb5ca70 100644 --- a/src/widgets/rail_widget.h +++ b/src/widgets/rail_widget.h @@ -63,6 +63,8 @@ enum BuildRailStationWidgets { WID_BRAS_IMAGE, ///< Panel used at each cell of the matrix. WID_BRAS_MATRIX_SCROLL, ///< Scrollbar of the matrix widget. + WID_BRAS_FILTER_CONTAINER, ///< Container for the filter text box for the station class list. + WID_BRAS_FILTER_EDITBOX, ///< Filter text box for the station class list. WID_BRAS_SHOW_NEWST_DEFSIZE, ///< Selection for default-size button for newstation. WID_BRAS_SHOW_NEWST_ADDITIONS, ///< Selection for newstation class selection list. WID_BRAS_SHOW_NEWST_MATRIX, ///< Selection for newstation image matrix. diff --git a/src/widgets/settings_widget.h b/src/widgets/settings_widget.h index 2eb6180f5c..7f8b0e1117 100644 --- a/src/widgets/settings_widget.h +++ b/src/widgets/settings_widget.h @@ -32,6 +32,8 @@ enum GameOptionsWidgets { WID_GO_BASE_MUSIC_TEXTFILE, ///< Open base music readme, changelog (+1) or license (+2). WID_GO_BASE_MUSIC_DESCRIPTION = WID_GO_BASE_MUSIC_TEXTFILE + TFT_END, ///< Description of selected base music set. WID_GO_FONT_ZOOM_DROPDOWN, ///< Dropdown for the font zoom level. + WID_GO_VIDEO_ACCEL_BUTTON, ///< Toggle for video acceleration. + WID_GO_REFRESH_RATE_DROPDOWN, ///< Dropdown for all available refresh rates. }; /** Widgets of the #GameSettingsWindow class. */